Rabu, 21 Agustus 2013

PENGERTIAN DIM, PENGERTIAN DASAR, DAN PENGERTIAN CASE


fakultas ilmu komputer universitas pakuan
case tool
Secara umum seorang software engineer maupun engineer dari disiplin ilmu yang lain dalam membangun/mengembangkan suatu produk, memiliki karakteristik sebagai berikut:
Mengetahui manfaat tools yangdapat membantu dalam membangun/mengembangkan suatu produk.
  1. Mampu mengorganisasikan tools yang memungkinkan untuk bekerja cepat dan efisien.
  2. Memiliki pengetahuan teknik membangun/mengembangkan produk serta handal dalam menggunakan tools untuk membantu pekerjaannya.
Dalam software engineering telah dikenal banyak tools (computer-base system) yang dikenal dengan Computer-Aided Software Engineering (CASE). CASE merupakan suatu teknik yang digunakan untuk membantu satu atau beberapa fase dalam life-cycle software, termasuk fase analisis, desain, implementasi dan maintenance dari software tersebut.
Manfaat CASE tools untuk software engineer dijabarkan sebagai berikut:
  1. CASE tools memperbesar kemungkinan otomatisasi pada setiap fase life-cycle software.
  2. CASE tools sangat membantu dalam meningkatkan kualitas design model suatu software sebelum software itu dibangun/dikembangkan, baik itu untuk software yang dibangun dalam simple maupun complex environment.
Ada banyak tools yang mendukung pembangunan/pengembangan suatu software. Agar tidak membingungkan, CASE tools dibagi menjadi beberapa kategori:
  1. Information engineering-supporting products. Ada beberapa proses dari life-cycle, yang dihasilkan dari rencana strategis dari perusahaan dan yang menyediakan suatu repository untuk membuat dan memelihara enterprise models, data models dan process models.
  2. Structured diagramming-supporting products. Produk ini sangat mendukung dalam memodelkan data flow, control flow dan entity flow.
  3. Structured development aids-providing products. Merupakan produk yang cocok digunakan oleh sistem analis, karena didukung oleh suatu proses terstruktur sehingga penganalisaan lebih cepat dan akurat.
  4. Application-code-generating products. Produk ini mampu menghasilkan application-code untuk tujuan tertentu yang telah ditetapkan oleh designer.
CASE tools diklasifikasikan sebagai berikut:
  1. Upper CASE. CASE tools yang didesain untuk mendukung perencanaan, identifikasi, dan seleksi proyek (permulaan dari perencanaan proyek), tepatnya pada fase analisis dan desain dari suatu system development life cycle (SDLC).
    Tools yang termasuk kelas ini adalah jenis Diagramming tools, Form and report generators, dan Analysis tools. Contoh CASE tools: Cradle, PRO-IV Workbench, ProKit*WORKBENCH.
  2. Lower CASE. CASE tools yang didesain untuk mendukung tahap implementasi dan maintenance dari SDLC. Tools yang termasuk kelas ini adalah jenis Code generators.
    Contoh CASE tools: Level/l-User Sensitive CASE, PRO-IV application Development.
  3. Cross life-cycle CASE/Integrated CASE (I-CASE). CASE tools yang dirancang untuk mendukung aktifikas-aktifitas yang terjadi pada beberapa fase dari SDLC. Mengkombinasikan Upper dan Lower CASE menjadi satu. Tools yang termasuk kelas ini adalah jenis Project management tools. Contoh CASE tools: Rational Rose, Poseidon, ArgoUML, Catalyze, in-Step, Juggler, PRINCE.
Mengapa harus menggunakan CASE? Hal yang melatarbelakangi munculnya CASE tools adalah: karena selama ini para software engineer hanya melakukan pembuatan perangkat lunak untuk mengoptimalkan pekerjaan orang lain. Sedangkan software engineer itu sendiri dalam aktifitasnya belum sepenuhnya terotomatisasi. Sehingga muncullah CASE tools untuk membantu para software engineer tersebut.
Kapan harus menggunakan CASE? CASE tools ini ada, ketika:
  1. Meningkatnya permintaan pasar akan software, sehingga dibutuhkan tools untuk mempercepat pembuatan software, agar mengimbangi permintaan pasar tersebut.
  2. Perkembangan teknologi yang semakin cepat menyebabkan client menuntut software engineer untuk memperbaharui software yang sudah ada atau membangun software baru yang memiliki spesifikasi lebih kompleks.
Dimana CASE dapat digunakan? CASE tools digunakan dalam semua aktifitas software engineer, termasuk dalam proses analisis, desain, implementasi, instalasi bahkan maintenance, baik pada lingkungan yang sederhana sampai yang kompleks yang mencakup: database, people, hardware, network, operating system.
Bagaimana cara menggunakan CASE? Dalam menggunakan suatu CASE tools, ada beberapa tahapan yang harus dilakukan terlebih dahulu. Diantaranya:
  1. Lakukan studi terhadap teknologi yang ada agar kita bisa mempersiapkan dampak perubahan teknologi yang akan terjadi nantinya, sehingga model yang dibangun nantinya bisa fleksibel terhadap perubahan.
  2. Evaluasi bagaimana jika organisasi yang sudah ada harus dibangun ulang agar bisa mengambil keuntungan dari teknologi baru.
  3. Tetapkan suatu ketentuan untuk mengganti sistem yang lama dengan teknologi baru yang paling efektif.
  4. Tentukan suatu metodologi pembangunan sistem.
Setelah melakukan tahapan-tahapan tersebut, barulah kita bisa menentukan CASE tools yang akan dipakai, misalnya : Poseidon for UML atau ArgoUML.

ArgoUML
ArgoUML merupakan suatu tools interaktif yang digunakan untuk mendesain, membangun dan mendokumentasikan perangkat lunak berbasis objek. ArgoUML dibangun oleh Jason Robbins bersama rekan-rekannya di Universitas California.
ArgoUML digunakan oleh para desainer, developer, analis, dan yang lainnya yang terlibat dalam analisa, desain dan pembangunan suatu perangkat lunak. Salah satu keunggulannya adalah 100% platform independent dan open source. Sebenarnya ArgoUML sendiri tidak untuk diproduksi/dipasarkan secara resmi. Ada beberapa masalah yang mungkin timbul ketika digunakan. Dibandingkan dengan tools serupa yang komersil, ArgoUML bisa dikatakan kurang stabil. Namun karena itulah ArgoUML bersifat open source, tujuannya agar kita bisa memperluas dan mengcustomize sendiri fitur-fitur yang diinginkan serta memperbaiki kesalahan-kesalahan yang ditemukan.
Untuk tujuan pendidikan dan komersil, ArgoUML bisa dikatakan menarik banyak peminat. Ini terbukti sampai pada pertengahan tahun 2001 sudah tercatat 100.000 orang yang men-download ArgoUML sejak pertama kali dirilis pada tahun 1998.
Poseidon for UML
Poseidon merupakan versi komersil dari ArgoUML yang dibuat oleh Marko Boger yang merupakan salah satu peneliti di Universitas Hamburg. Dia juga salah satu dari tim yang dipimpin oleh Jason Robbins ketika membangun ArgoUML. Poseidon dibuat ketika Jason Robbins keluar dari tim untuk melakukan pekerjaan lain.
Poseidon dibangun dan dikembangkan dengan cara bekerja sama dengan para ahli dan perusahaan-perusahaan terkemuka. Tujuannya untuk membangun suatu tools yang lengkap berdasarkan kebutuhan dari berbagai pemakai.
II. Fase Pengembangan dan Fase Pemeliharaan
Kedua fase ini tidak berada dalam satu fase, karena kedua fase ini memiliki fase/tahapan-tahapan masing-masing. Namun fase pemeliharaan didalam pengembangan secara cyclic ini, berada didalam fase pengembangan atau menjadi salah satu kegiatan fase pengembangan perangkat lunak. Namun walaupun begitu fase pemeliharaan memiliki fase kegiatan tersendiri setelah system diinstall dan dipakai. Pemeliharaan mencakup koreksi dan perbaikan berabagai error yang ada.
Pengembangan pernagakat lunak yang bersifat cyclic meliputi kegiatan-kegiatan antara lain :
  1. Studi dan Analisa
  2. Desain global
  3. Desain detail
  4. Implementasi
  5. Operasi dan Pemeliharaan
Jadi kedua fase ini tidak berada dalam satu fase tertentu, namun secara syclyc fase pemeliharaan menjadi bagian dari kegiatan fase pengembangan perangkat lunak.








Beberapa Penjelasan Pernyataan “DIM” pada Visual Basic



1 Vote

Beberapa pernyataan / statement yang bisa digunakan bersamaan deklarasi “DIM” yaitu : friend, private, protected, protected friend, public, read only, shadows, shared, dan witheven. Disini saya akan sedikit memberikan informasi akan penjelasan tentang pernyataan Dim tersebut.
Public
Variabel dideklarasikan dengan kata kunci public memiliki akses publik. Tidak ada pembatasan tentang aksesibilitas variabel publik.
Anda dapat menggunakan Public hanya pada, namespace, atau file tingkat modul. Ini berarti Anda dapat mendeklarasikan variabel umum dalam suatu file sumber atau di dalam kelas, modul, atau struktur, tetapi tidak di dalam suatu prosedur. Jika Anda menetapkan Umum, anda dapat menghilangkan kata kunci Dim.
Protected
Variabel dideklarasikan dengan kata kunci Protected memiliki akses terproteksi. Mereka hanya bisa diakses dari dalam kelas mereka sendiri atau dari kelas turunan. Akses Protected bukanlah superset dari akses teman.
Anda dapat menggunakan Protected hanya pada tingkat kelas. Ini berarti Anda dapat mendeklarasikan variabel di dalam kelas protected tetapi tidak di dalam suatu prosedur, dan bukan di tingkat modul, namespace, atau file. Anda dapat menggunakan Protected hanya untuk menyatakan anggota kelas. Jika Anda menetapkan Protected, anda dapat menghilangkan kata kunci Dim.
Friend
Variabel dideklarasikan dengan kata kunci Friend memiliki akses teman. Mereka dapat diakses dari dalam konteks deklarasi mereka dan dari tempat lain dalam program yang sama.
Anda dapat menggunakan Friend hanya pada, namespace, atau file tingkat modul. Ini berarti Anda dapat mendeklarasikan variabel friend di file sumber atau di dalam kelas, modul, atau struktur, tetapi tidak di dalam suatu prosedur. Jika Anda menetapkan Friend, anda dapat menghilangkan kata kunci Dim.

Protected Friend
Variabel dideklarasikan dengan kata kunci Protected Friend memiliki persatuan dan akses teman yang dilindungi. Mereka dapat digunakan oleh kode di mana saja di program yang sama, menurut kode di kelas mereka sendiri, dan dengan kode dalam setiap kelas turunan.
Anda dapat menggunakan Protected Friend hanya pada tingkat kelas. Ini berarti Anda dapat mendeklarasikan variabel protected friend di dalam kelas tetapi tidak di dalam suatu prosedur, dan bukan di tingkat modul, namespace, atau file. Anda dapat menggunakan Protected Friend hanya untuk menyatakan anggota kelas. Jika Anda menetapkan Protected Friend, anda dapat menghilangkan kata kunci Dim.
Private
Variabel dideklarasikan dengan kata kunci Private memiliki akses pribadi. Mereka hanya bisa diakses dari dalam konteks deklarasi mereka, termasuk dari anggota dari setiap tipe bersarang seperti prosedur.
Anda dapat menggunakan Private hanya pada level modul. Ini berarti Anda dapat mendeklarasikan variabel private di dalam kelas, modul, atau struktur, tetapi tidak pada tingkat namespace atau file dan tidak di dalam suatu prosedur. Jika Anda menetapkan Private, anda dapat menghilangkan kata kunci Dim.
Shared
Menunjukkan bahwa variabel ini bersama. Ini berarti tidak terkait dengan contoh spesifik dari sebuah kelas atau struktur. Anda dapat mengakses variabel bersama dengan kualifikasi baik dengan nama kelas atau struktur, atau dengan nama variabel contoh spesifik dari kelas atau struktur.
Anda dapat menggunakan Shared hanya pada, namespace, atau file tingkat modul. Ini berarti Anda dapat mendeklarasikan variabel bersama dalam sebuah file sumber atau di dalam kelas, modul, atau struktur, tetapi tidak di dalam suatu prosedur. Jika Anda menetapkan Shared, anda dapat menghilangkan kata kunci Dim.
Anda tidak bisa menentukan baik static dan Shared dalam deklarasi variabel yang sama.

Shadows
Menunjukkan bahwa variabel ini bayangan elemen pemrograman identik bernama, atau mengatur elemen kelebihan beban, di kelas dasar. Anda dapat bayangan apapun elemen dideklarasikan dengan jenis lain. Sebuah elemen gelap tidak tersedia dari dalam kelas turunan yang bayangan itu, kecuali elemen bayangan tidak dapat diakses, misalnya jika Private. Anda dapat menggunakan Shadows hanya pada, namespace, atau file tingkat modul. Ini berarti Anda dapat mendeklarasikan variabel membayangi dalam file sumber atau di dalam kelas, modul, atau struktur, tetapi tidak di dalam suatu prosedur. Jika Anda menetapkan Shadows, anda dapat menghilangkan kata kunci Dim.
Anda tidak bisa menentukan baik Static dan Shadows dalam deklarasi variabel yang sama.

ReadOnly
Variabel dideklarasikan dengan kata kunci readonly hanya dapat dibaca dan tidak tertulis. Hal ini dapat berguna untuk membuat anggota konstan dari referensi, seperti variabel objek dengan anggota data preset.
Anda hanya dapat menggunakan readonly pada modul, namespace, atau tingkat file. Ini berarti Anda dapat mendeklarasikan variabel readonly dalam sebuah file sumber atau di dalam kelas, modul, atau struktur, tetapi tidak di dalam suatu prosedur. Jika Anda menetapkan readonly, anda dapat menghilangkan kata kunci Dim.

WithEvents
Kata kunci yang menentukan nama yang merupakan variabel objek yang mengacu pada sebuah instance dari kelas yang dapat meningkatkan kejadian. Anda dapat mendeklarasikan sebagai variabel individu sebanyak yang Anda suka menggunakan WithEvents, tetapi Anda tidak dapat mendeklarasikan array dengan cara ini.
Jika Anda menggunakan kata kunci WithEvents, Anda tidak dapat mendeklarasikan nama sebagai Object. Anda harus menyatakan sebagai kelas tertentu yang dapat meningkatkan kejadian.





Pengertian pemrograman komputer


Pemrograman
Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram (programmer). Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika.

Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma pemrograman.
Sejarah pemrograman
Mekanisme Antikythera dari Yunani kuno adalah kalkulator menggunakan persneling dari berbagai ukuran dan konfigurasi untuk menentukan operasi, yang dilacak siklus Metonik masih digunakan di bulan-ke-surya kalender, dan yang konsisten untuk menghitung tanggal olimpiade. Al-Jazari dibangun Automata diprogram pada tahun 1206. Salah satu sistem yang digunakan dalam perangkat ini adalah penggunaan pasak dan Cams ditempatkan ke drum kayu di lokasi tertentu, yang secara berurutan akan memicu tuas yang pada gilirannya dioperasikan instrumen perkusi. Output dari perangkat ini adalah drumer kecil bermain berbagai ritme dan pola drum. The Jacquard Loom, Joseph Marie Jacquard yang dikembangkan pada tahun 1801, menggunakan serangkaian karton kartu dengan menekan lubang di dalamnya. Pola lubang pola yang mewakili alat tenun harus mengikuti menenun kain. Alat tenun bisa menghasilkan tenun yang sama sekali berbeda dengan menggunakan kumpulan kartu yang berbeda. Charles Babbage mengadopsi penggunaan kartu menekan sekitar tahun 1830 untuk mengendalikan Analytical Engine. Program komputer pertama ditulis untuk Analytical Engine oleh matematikawan Ada Lovelace untuk menghitung urutan Bilangan Bernoulli. Sintesis perhitungan numerik, operasi dan output telah ditentukan, bersama dengan cara untuk mengatur dan masukan instruksi dengan cara yang relatif mudah bagi manusia untuk hamil dan menghasilkan, menyebabkan perkembangan modern pemrograman komputer. Pengembangan pemrograman komputer dipercepat melalui Revolusi Industri. Pada akhir 1880-an, Herman Hollerith menemukan rekaman data pada media yang kemudian dapat dibaca oleh mesin. Sebelum menggunakan mesin dibaca dari media, di atas, telah untuk kontrol, bukan data. "Setelah beberapa percobaan awal dengan kertas pita, ia menetap di kartu menekan ..."  Untuk memproses kartu menekan ini, pertama kali dikenal sebagai "kartu Hollerith" dia menciptakan tabulator, dan mesin keypunch. Ketiga penemuannya dasar dari industri pengolahan informasi modern. Pada tahun 1896 ia mendirikan Tabulating Machine Company (yang kemudian menjadi inti dari IBM). Penambahan panel kontrol (plugboard) ke 1906 Tipe I Tabulator memungkinkannya untuk melakukan pekerjaan yang berbeda tanpa harus secara fisik dibangun kembali. Pada akhir 1940-an, ada berbagai mesin panel kontrol diprogram, disebut catatan unit peralatan, untuk melakukan pengolahan data tugas.
Data dan instruksi dapat disimpan pada kartu punched eksternal, yang disimpan dalam rangka dan disusun dalam deck. Penemuan arsitektur von Neumann memungkinkan program komputer untuk disimpan dalam memori komputer. Program awal harus susah payah dibuat dengan menggunakan instruksi (operasi dasar) dari mesin tertentu, sering kali dalam notasi biner. Setiap model komputer mungkin akan menggunakan instruksi yang berbeda (bahasa mesin) untuk melakukan tugas yang sama. Kemudian, perakitan bahasa tersebut dikembangkan yang memungkinkan programmer menentukan setiap instruksi dalam format teks, singkatan memasukkan kode untuk setiap operasi, bukan menetapkan sebuah nomor dan alamat dalam bentuk simbolik (misalnya, ADD X, JUMLAH). Memasuki sebuah program dalam bahasa assembly biasanya lebih nyaman, lebih cepat, dan kurang rentan terhadap kesalahan manusia daripada menggunakan bahasa mesin, tetapi karena bahasa assembly adalah sedikit lebih dari satu notasi yang berbeda untuk bahasa mesin, setiap dua mesin dengan instruksi yang berbeda set juga memiliki perakitan yang berbeda bahasa. Pada tahun 1954, FORTRAN diciptakan, melainkan tingkat pertama bahasa pemrograman tinggi untuk memiliki implementasi fungsional, dibandingkan dengan hanya desain di atas kertas [9] [10] (Sebuah bahasa tingkat tinggi adalah, dalam istilah yang sangat umum,. bahasa pemrograman yang memungkinkan programmer untuk menulis program dalam istilah yang lebih abstrak dari instruksi bahasa assembly, yaitu pada tingkat abstraksi "lebih tinggi" daripada bahasa assembly.) Ini memungkinkan programmer untuk menentukan perhitungan dengan memasukkan formula secara langsung (misalnya Y = X * 2 + 5 * X + 9). Program teks, atau sumber, diubah menjadi instruksi mesin menggunakan program khusus yang disebut kompilator, yang diterjemahkan program FORTRAN ke dalam bahasa mesin. Bahkan, nama FORTRAN adalah singkatan dari "Formula Translation". Banyak bahasa lainnya dikembangkan, termasuk beberapa program untuk komersial, seperti COBOL. Program itu sebagian besar masih masuk menggunakan kartu punched atau pita kertas. (Lihat pemrograman komputer di era kartu punch). Pada akhir 1960-an, perangkat penyimpanan data dan terminal komputer menjadi cukup murah bahwa program dapat dibuat dengan mengetikkan langsung ke dalam komputer. Teks editor tersebut dikembangkan yang memungkinkan perubahan dan perbaikan harus dilakukan jauh lebih mudah dibandingkan dengan kartu berlubang. (Biasanya, kesalahan dalam meninju kartu berarti bahwa kartu harus dibuang dan yang baru menekan untuk menggantikannya.) Ketika waktu telah berkembang, komputer telah membuat lompatan raksasa di bidang kekuatan prosesor. Ini telah membawa bahasa pemrograman baru yang lebih disarikan dari hardware. Meskipun bahasa tingkat tinggi biasanya dikenakan biaya overhead yang lebih besar, peningkatan kecepatan komputer modern telah membuat penggunaan bahasa ini jauh lebih praktis daripada di masa lalu. Bahasa ini semakin disarikan biasanya lebih mudah untuk belajar dan memungkinkan programmer untuk mengembangkan aplikasi jauh lebih efisien dan dengan kode sumber kurang. Namun, bahasa tingkat tinggi masih praktis untuk beberapa program, seperti yang di mana tingkat rendah kontrol perangkat keras diperlukan atau di mana kecepatan pemrosesan maksimum adalah penting.
Sepanjang paruh kedua abad kedua puluh, pemrograman adalah karier yang menarik di sebagian besar negara maju. Beberapa bentuk pemrograman telah lepas pantai semakin tunduk pada outsourcing (impor perangkat lunak dan jasa dari negara lain, biasanya dengan upah rendah), membuat keputusan karir pemrograman di negara maju lebih rumit, sementara meningkatkan peluang ekonomi di daerah kurang berkembang. Tidak jelas seberapa jauh kecenderungan ini akan berlanjut dan seberapa dalam dampak akan programmer upah dan kesempatan.

Kata lain
Pemrograman adalah mengubah suatu masalah yang dapat dimengerti oleh komputer dan dapat dipecahkan oleh komputer.
Persyaratan kualitas
Apapun pendekatan pengembangan perangkat lunak mungkin, program akhir harus memenuhi beberapa sifat mendasar. Properti berikut adalah di antara yang paling relevan:
  • Efisiensi / kinerja: jumlah sumber daya sistem program yang mengkonsumsi waktu proses, ruang memori, perangkat bawahseperti disk, bandwidth jaringan dan bahkan sampai batas tertentu interaksi dari pemakai): semakin sedikit, semakin baik. Ini juga termasuk pembuangan benar beberapa sumber, seperti membersihkan file-file sementara dan tidak adanya kebocoran memori.
  • Reliabilitas: seberapa sering hasil dari sebuah program sudah benar. Hal ini tergantung pada kebenaran konseptual algoritma, dan pemrograman minimisasi kesalahan, seperti kesalahan dalam manajemen sumber daya (misalnya, buffer overflows dan ras kondisi) dan kesalahan logika (seperti pembagian dengan nol).
  • Kekokohan: seberapa baik program masalah mengantisipasi bukan karena kesalahan programmer. Ini termasuk situasi seperti salah, tidak pantas atau merusak data, tidak tersedianya sumber daya yang dibutuhkan seperti memori, sistem operasi layanan dan koneksi jaringan, dan kesalahan pengguna.
  • Kegunaan: yang ergonomi sebuah program: kemudahan dengan mana seseorang dapat menggunakan program untuk tujuan, atau dalam beberapa kasus bahkan tujuan tak terduga. Isu-isu tersebut dapat membuat atau menghancurkan kesuksesan bahkan tanpa masalah lain. Hal ini melibatkan berbagai tekstual, grafis dan kadang-kadang elemen-elemen perangkat keras yang meningkatkan kejelasan, intuitif, kekompakan dan kelengkapan program antarmuka pengguna.
  • Portabilitas: kisaran perangkat keras komputer dan platform sistem operasi yang kode sumber dari program dapat dikompilasi / ditafsirkan dan lari. Hal ini tergantung pada perbedaan-perbedaan dalam fasilitas pemrograman yang disediakan oleh platform yang berbeda, termasuk hardware dan sistem operasi sumber daya, perilaku yang diharapkan dari hardware dan sistem operasi, dan ketersediaan platform compiler tertentu (dan kadang-kadang perpustakaan) untuk bahasa dari source code.
  • Kemampu-rawatan: kemudahan dengan sebuah program yang dapat dimodifikasi oleh pengembang sekarang atau pada masa mendatang dalam rangka untuk membuat perbaikan atau penyesuaian, memperbaiki bug dan lubang keamanan, atau disesuaikan dengan lingkungan baru. Praktek yang baik selama pengembangan awal membuat perbedaan dalam hal ini. Kualitas ini mungkin tidak secara langsung jelas bagi pengguna akhir tetapi dapat secara signifikan memengaruhi nasib sebuah program jangka panjang.
==Kompleksitas algoritma==
Bidang akademik dan praktik teknik pemrograman komputer yang baik terutama berkaitan dengan menemukan dan menerapkan algoritma yang paling efisien untuk suatu masalah kelas. Untuk tujuan ini, algoritma diklasifikasikan menjadi perintah dengan menggunakan apa yang disebut notasi Big O, O (n), yang mengungkapkan penggunaan sumber daya, seperti waktu eksekusi atau pemakaian memori, dalam hal ukuran sebuah input. Ahli programmer yang akrab dengan berbagai mapan algoritma dan kompleksitas masing-masing dan menggunakan pengetahuan ini untuk memilih algoritma yang paling cocok dengan keadaan.
Metodologi
Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat lunak formal adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan model nilai, pelaksanaan, dan kegagalan penghapusan (debug). Terdapat banyak pendekatan yang berbeda untuk masing-masing tugas. Salah satu pendekatan yang populer untuk analisis kebutuhan adalah Kasus Gunakan analisis.
Teknik model populer meliputi Object-Oriented Analysis and Design (OOAD) dan Model-Driven Architecture (MDA). The Unified Modeling Language (UML) adalah sebuah notasi yang digunakan untuk kedua OOAD dan MDA.
Teknik yang sama digunakan untuk desain database adalah Entity-Relationship Modeling (ER Modeling).
Pelaksanaan teknik termasuk bahasa imperatif (object-oriented atau prosedural), fungsional bahasa, dan logika bahasa.
Mengukur pemakaian bahasa
Sangat sulit untuk menentukan apa yang paling populer bahasa pemrograman modern. Beberapa bahasa yang sangat populer untuk jenis aplikasi tertentu (misalnya, COBOL masih kuat di pusat data perusahaan, sering pada mainframe besar, FORTRAN dalam aplikasi teknik, bahasa scripting dalam pengembangan web, dan C dalam aplikasi embedded), sementara beberapa bahasa teratur digunakan untuk menulis berbagai macam aplikasi.
Metode untuk mengukur popularitas bahasa pemrograman meliputi: menghitung jumlah iklan lowongan pekerjaan yang menyebutkan bahasa [10], jumlah buku-buku pengajaran bahasa yang dijual (overestimates ini pentingnya bahasa baru), dan perkiraan jumlah baris yang ada kode yang ditulis dalam bahasa (meremehkan ini jumlah pengguna bahasa bisnis seperti COBOL).
Debugging
Debugging adalah tugas yang sangat penting dalam proses pengembangan perangkat lunak, karena program yang salah dapat memiliki konsekuensi yang signifikan bagi penggunanya. Beberapa bahasa yang lebih rentan terhadap beberapa jenis kesalahan karena mereka tidak memerlukan spesifikasi kompiler untuk melakukan pengecekan sebanyak bahasa lainnya. Penggunaan alat analisis statis dapat membantu mendeteksi beberapa kemungkinan masalah.
Debug sering dilakukan dengan IDE seperti Visual Studio, NetBeans, dan Eclipse. Standalone debugger seperti gdb juga digunakan, dan ini kurang sering menyediakan lingkungan visual, biasanya menggunakan baris perintah.
Bahasa pemrograman
Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda (disebut paradigma pemrograman). Pilihan bahasa yang digunakan adalah tunduk pada banyak pertimbangan, seperti kebijakan perusahaan, kesesuaian untuk tugas, ketersediaan pihak ketiga paket, atau keinginan individunya. Idealnya, bahasa pemrograman yang paling cocok untuk tugas yang dihadapi akan dipilih. Trade-off dari ideal ini melibatkan cukup menemukan programmer yang tahu bahasa untuk membangun sebuah tim, ketersediaan compiler untuk bahasa, dan efisiensi dengan program-program yang ditulis dalam bahasa tertentu mengeksekusi.
Beberapa bahasa pemrograman adalah:

Allen Downey, dalam bukunya How To Think Like A Computer Scientist, menulis:
   Rincian terlihat berbeda dalam berbagai bahasa, tetapi beberapa petunjuk dasar muncul di hampir setiap bahasa:
       * Input: Get data dari keyboard, file, atau beberapa perangkat lain.
       * Output: Display data pada layar atau mengirim data ke file atau perangkat lain.
       * Berhitung: Lakukan operasi aritmatika dasar seperti penjumlahan dan perkalian.
       * Bersyarat eksekusi: Periksa kondisi tertentu dan melaksanakan urutan sesuai pernyataan.
       * Pengulangan: Lakukan beberapa tindakan berulang-ulang, biasanya dengan beberapa variasi.
Banyak bahasa komputer menyediakan mekanisme untuk memanggil fungsi yang disediakan oleh perpustakaan. Menyediakan fungsi-fungsi di perpustakaan mengikuti konvensi runtime yang sesuai (misalnya, metode lewat argumen), maka fungsi-fungsi ini dapat ditulis dalam bahasa lainnya.

Rabu, 20 Maret 2013

10 Iklan Terunik Pada Bangunan

Seorang pakar dalam dunia periklanan bernama David Ogilvy pernah berkata "Dalam industri yang sudah modern sekarang, sangatlah sia-sia jika kita telah berpikir kreatif dan original, namun tidak tahu bagaimana cara untuk menjualnya".
Mungkin kata-kata itulah yang mengilhami beberapa desainer iklan di dunia bagaimana menjual produk mereka dengan sebuah iklan yang unik dan akan diingat dalam beberapa waktu yang cukup lama. Seperti 10 contoh iklan yang diletakkan pada gedung berikut, mereka tahu bahwa mereka akan mengeluarkan uang dengan jumlah yang tidak sedikit untuk iklan yang mereka buat. Namun iklan ini mereka anggap sangat efektif karena publikasi penuh selama 24 jam per hari, dan setiap orang yang melihatnya akan dibuat kagum dan tidak akan melupakannya dengan cepat.

1. Coop's Paint (Iklan Asuransi Nationwide)
Coop\'s Paint (Iklan Asuransi Nationwide)
Maksud dari iklan bergambar tiga ini adalah bahwa sesuatu yang terjadi dalam hidup kita datangnya sangat cepat dan tidak terduga. Untuk itulah kita penting menginvestasikan pendapatan kita untuk asuransi. Gedung dengan iklan ini dapat kita temui di kota Dallas, USA.

2. Marina Tower (Iklan Asuransi Mobil Allstate)
Marina Tower (Iklan Asuransi Mobil Allstate)
Iklan ekstrim ini terpampang pada tower Marina yang terletak di kota Chicago, USA. Terlihat sebuah mobil yang akan meloncat keluar dari menara tersebut. Maksud dari iklan ini adalah bahwa kecelakaan bisa terjadi dimana saja dan kapan saja.

3. PowerHouse Gym
PowerHouse Gym
Iklan raksasa ini terletak di sebuah gedung tinggi di kota Savannah, USA. Menggambarkan seorang pria perkasa berbadan kekar yang seolah-olah menggunakan alat berat sebagai peralatan fitnesnya.

4. Anando Milk
Anando Milk
Iklan ini ditempatkan di sebuah gedung paling tinggi di sebuah kawasan di Mumbai, India. Menggambarkan bahwa anak Anda akan sehat dan kuat setelah minum susu ini. Walau mungkin tak sekuat bocah yang ada di gambar iklan di atas, yang dapat mendorong sebagian gedung tersebut.

5. Cek Gas Anda!
Cek Gas Anda!
Iklan di sebuah gedung di Rusia ini mengingatkan kita tentang bahaya meninggalkan kamar apartemen atau rumah sebelum memastikan kompor gas kita benar-benar pada posisi mati.

6. Nescafe dan Pepsi
Nescafe dan Pepsi
Kedua produk minuman ini menggunakan tandon air di atas gedung sebagai bahan iklan mereka.

7. Pantene Shampo Anti Rontok
Pantene Shampo Anti Rontok
'Rambut' yang dikepang ini nampak menjulur keluar dari sebuah jendela sebuah gedung. Untuk membuktikan kalau 'rambut' raksasa itu kuat, beberapa orang mencoba menaikinya.

8. Mixer merk Siemens
Mixer merk Siemens
Hati-hati! Pintu putar ini bisa memusingkan Anda dengan kecepatan 5600 rpm-nya! Tapi jangan khawatir, hal itu terjadi kalau mixernya dihidupkan. Tentunya tidak akan terjadi karena mixer raksasa itu hanyalah sebuah iklan.

9. Nike : Bola Sepak
Nike : Bola Sepak
Tidak akan ada orang yang tidak mau memalingkan pandangan matanya kepada pemandangan satu ini. Sebuah bola raksasa nampak tersangkut di sebuah gedung.

10. Lakban Penline
Lakban Penline
Papan reklame ini di Malaysia ini seolah-olah ditempelkan ke sebuah bangunan dengan hanya menggunakan lakban saja!