Rahasia Melejitkan Skore TOEFL

Posted by pendidikan yang sesungguhnya Selasa, 12 Maret 2013 0 komentar
Assalamu'alaikum teman-teman semua. Apalagi teman-teman yang kini tengah sibuk-sibuknya mempelajari TOEFL, dan sangat berharap sekali score TOEFL nya bisa melejit hingga mendapatkab score minimal 550. hhh.. Dari pada bertele-tele langsung saja kenalan dengan TOEFL...

TOEFL merupakan proficiebcy text, yaitu tes yang digunakan untuk mengukur kemampuan bahasa inggris seseorang tanpa dikaitkan secara lansung dengan proses belajar mengajar. Dengan demikioan TOEFL berbeda dengan achievement test, yaitu tes yang lingkup ujinya terbatas pada bahan yang telah dipelajari siswa dalam satu kelas bahasa inggris. TOEFL mencakup 4 aspek, yaitu:

  1. Listening Comprehension
  2. Structure and Written Expression
  3. Reading Comprehension
  4. Test of Written English (TWE)
Ada 3 macam tes TOEFL, yaitu:
  1. International TOEFL Test
  2. Institutional TOEFL Test
  3. TOEFL Like Test
Perbedaannya adalah pada International TOEFL Test, soalnya selalu baru dalam pelaksanaan tes. Sedangkan pada Intitutional TOEFL Test dan TOEFL Like Test soalnya bersumber pada beberapa tahun sebelumnya dari International TOEFL Test. 
Read More..

Tips Menguasai Bahasa Pemrograman dengan Cepat

Posted by pendidikan yang sesungguhnya Rabu, 27 Februari 2013 0 komentar
Saat semangat sedang mengebu-gebu untuk mampu menguasai bahasa pemrograman dengan cepat dan menjadikan program teman di setiap saat, saya coba searching di google, bagaimana cara agar dapat menguasai bahasa pemrograman itu sendiri. Alhamdullilah saya ketemu sebuah situs web: http://saungprogrammer.blogspot.com/2012/03/10-tips-untuk-cepat-mempelajari-bahasa.html,  yang memberikan 10 tips untuk cepat menguasai bahasa pemrograman.

baca dengan saksama, semoga bermanfaat buat Anda dan terutama bagi saya sendiri, mari sama-sama kita praktekkan tips berikut:
  1. Menjadikan Pemrograman sebagai materi hafalan, ya… inilah salah satu kesalahannya. Memang menghafal itu penting untuk mengetahui tata cara penulisan sintaks dan juga parameter-parameter khusus yang ada di setiap bahasa pemrograman, tetapi Pemrograman bukanlah sebuah pelajaran menghafal melainkan pelajaran untuk mengembangkan logika dan penerapan konsep logika ke dalam listing program untuk menyelesaikan sebuah permasalahan.
  2. Kalah Sebelum Berperang, Mengapa?? karena mereka sudah menganggap bahwa pemrograman itu merupakan hantu yang paling ditakuti / pelajaran yang sangat sulit sehingga para mahasiswa yang menganggap seperti itu menjadi depressi dan termotivasi untuk tidak ingin sungguh-sungguh dalam mempelajarinya.
  3. Tidak Ingin Mencoba, Hampir seluruh mahasiswa selalu malas untuk mencoba mengulang /  menerapkan kembali pelajaran yang didapat dari kampusnya kedalam logika mahasiswa itu sendiri.
  4. Menjadi Tukang Ketik, Mengapa?? karena mereka hanya bisa mengerjakannya dengan cara melihat / mencontoh materi yang diberikan dosen. Sesungguhnya cara ini sangatlah merugikan sekali…karena dengan menjadi tukang ketik, maka kalian tidak akan mau berusaha untuk mempelajari konsep pemrograman itu sendiri…
Jadi Tips untuk memahami pemrograman itu adalah sebagai berikut :
  1. Modal awal untuk belajar pemrograman adalah motivasi. Kalau motivasi Anda untuk belajar motivasi besar, Selamat… Anda adalah calon seorang programmer handal. Fokus selanjutnya adalah mengasah skill Anda untuk belajar pemrograman. Terus pertahankan motivasi yang telah Anda miliki. Jangan sampai motivasi ini pupus ketika menemui kegagalan.
  2. Jangan mudah menyerah. Memang… belajar pemrograman adalah tidak mudah. Butuh perjuangan, kerja keras, serta pengalaman (jam terbang). Jangan mudah menyerah ketika banyak error yang muncul ketika membuat program.
  3. Jangan sekali-kali menganggap pemrograman itu adalah sepenuhnya pelajaran ‘Menghapal’. Memang betul, menghapal juga diperlukan yaitu ketika menghapalkan sintaks dan aturan penulisan dalam program. Tapi secara prinsip, pemrograman adalah pelajaran cara berpikir dan logika bagaimana menyelesaikan masalah.
  4. Jangan hanya menjadi tukang ketik. Ketika dosen Anda memberikan contoh program di kelas atau ketika praktikum, jangan hanya memandang setiap barisan kode program tersebut sebagai angin lalu dan hanya Anda pindahkan ke kertas atau komputer. Kalau hanya demikian, sama halnya Anda belajar menjadi tukang ketik. Coba pahami setiap baris kode dan alur program yang dituliskan guru atau dosen Anda. Kalau sudah paham, coba tulis program menurut versi Anda sendiri ke buku atau komputer Anda. Apabila hal ini Anda lakukan, maka secara tidak sadar Anda telah melatih logika berpikir Anda dan belajar menuangkan logika berpikir ke dalam bentuk program.
  5. Untuk mendukung belajar Anda, coba cari orang yang mau mengajari Anda ketika menemui masalah dalam belajar pemrograman. Bisa teman dekat, teman di internet atau bahkan guru dan dosen yang dekat dengan Anda.
  6. Jangan mengandalkan tatap muka di kelas. Materi pemrograman sangatlah luas. Apa yang diberikan dosen ketika kuliah itu sangatlah kecil cakupannya dibandingkan keseluruhan ilmu pemrograman. Cobalah eksplorasi sendiri segala hal tentang pemrograman. Ada banyak referensi di internet yang membahas tentang tips dan trik serta teknik dalam pemrograman.
  7. Carilah komunitas yang fokus dengan pemrograman. Di internet ada banyak forum diskusi via web atau mailing list yang membahas tentang pemrograman. Ingat… bahwa orang yang sering bergaul dengan penjual minyak wangi maka dia akan ikut menjadi wangi… So… kita adopsi hal ini. Banyak-banyaklah bergaul dengan orang dalam komunitas yang sama-sama interest dengan pemrograman.
  8. Sangat disarankan Anda memiliki komputer sendiri di rumah atau di kost. Seperti yang telah saya jelaskan di atas bahwa untuk menguasai pemrograman butuh pengalaman dan jam terbang yang banyak dalam membuat progam. Kalau Anda tidak memiliki komputer sendiri, bagaimana bisa menambah jam terbangnya? Untuk belajar pemrograman tidaklah harus membutuhkan komputer dengan spesifikasi tinggi. Cukup komputer Pentium III saja itu sudah bisa, kecuali Anda belajar program yang memang butuh spesifikasi besar misalnya programan berbasis visual. Oya… jangan sekali-kali mengandalkan jam praktikum di laboratorium karena waktu penggunaannya sangat-sangat terbatas. Anggap saja ketika Anda beli komputer adalah sebagai investasi jangka panjang. Yakinlah suatu saat modal Anda untuk membeli komputer itu akan balik kembali, atau malah akan memberikan return of investment yang jauh lebih besar.
  9. Jangan hanya mengandalkan catatan atau modul yang diberikan oleh dosen. Isi modul yang ditulis oleh dosen itu rata-rata masih sedikit kontennya. Berusahalah mencari referensi sendiri terkait dengan pemrograman. Toh… saat ini sudah banyak buku-buku yang mengulas tentang pemrograman. Kalau Anda ingin yang gratis, coba cari referensi di internet karena tersedia banyak free ebook yang bisa didownload.
  10. Jangan hanya asal copy paste. Rata-rata orang yang asal copy paste program itu tidak berusaha memahami program yang dia copy.  Coba pahami dahulu program yang Anda peroleh terutama pada algoritmanya, kalau bisa tulis kembali program tersebut menurut versi Anda. Boleh sih copy paste.. asal Anda juga berusaha memahami makna program di dalamnya. Syukur-syukur kalau Anda memodifikasi kode programnya.
Tips ini merupakan salah satu pengalaman saya, dan saat inipun saya masih terus belajar dan terus belajar untuk menguasai bahasa pemrograman….

Tetapi kalian harus ingat, pilihlah bahasa pemrograman mana yang paling kamu minati, dan fokuskan pelajaran kalian ke satu pemrograman itu.
bukan berarti kalian hanya boleh menguasai 1 bahasa pemrograman, tetapi kalian harus memiliki paling tidaknya Skill Master pada salah satunya… ^_^
Baiklah, Sekian Tips dari saya
Semoga Bermanfaa
Read More..

Trik Menyelesaikan Skripsi Dengan Cepat

Posted by pendidikan yang sesungguhnya Selasa, 26 Februari 2013 0 komentar
Teman-teman yang sangat saya banggakan, yang saat ini tersandung kerikil kecil dan tajam sehingga terasa berat untuk melangkah dalam menyelesaikan skripsinya, atau saat ini sedang terserang penyakit malas sehingga skripsinya diabaikan begitu saja. Memang benar terkadang penyakit ini menyerang para mahasiswa di semester akhir. Banyak hal yang menyebabkan skripsi menjadi tidak selesai-selesai bahkan meski semester ke semester telah dilalui namun yang namanya skripsi belum juga kita selesaikan.

Hal ini disebabkan oleh kebiasaan kita menunda pekerjaan. Pekerjaan yang awalnya mudah dan kemudian ditunda-tunda akhirnya menjadi pekerjaan berat yang sangat melelahkan. Ini adalah kebiasaan kita, bukan hanya Anda, Saya pun begitu, namun jika ini dibiarkan  berlarut-larut, Alhasil kita tidak akan tamat-tamat alias menjadi mahasjswa abadi.

hmmmm... agar kita tidak bertele-tele dengan mukhadimah yang jika diperpanjang bisa menjadi semakin panjang, langsung saja deh... Tips dan trik menyelesaikan skripsi dengan cepat, khusus bagi rekan saya yang memiliki masalah ini, baca dengan seksama, pahami, dan amalkan dalam kehidupan sehari-hari. karena ini tips dan trik yang jitu dan berdasarkan kepada pengalaman penulis yang baru saja penulis alami.

  1. Jangan tunda pekerjaan. Pekerjaan yang tertunda itu akan menjadi sangat berat. Menunda pekerjaan akan terasa nikmat pada waku itu, dan akan menjadi sangat berat pada waktu berikutnya.
  2. Berpikirlah jauh ke depan. Hidup ini tidak hanya sampai kita lulus dan wisuda saja kan? masih banyak lagi impian-impian kita yang belum tercapai. Belum lagi setelah tamat, apakah hanya akan menjadi pengangguran saja? tentunya tidak kan? semakin cepat kita tamat semakin besar peluang kita untuk mendapatkan suatu pekerjaan, jadi pikirkanlah dan renungkanlah!
  3. Buat berubahan, atau perkembangan dari hari-ke hari, ansur terus skripsinya meski hanya satu paragraf dalam seharinya, tidak masalah, yang penting kemauan untuk menyelesaikan itu ada.
  4. Jangan malas, malas hanya akan memperlambat penyelesaian skripsi saja
  5. Jaga kesehatan dan pola makan harus tetap teratur.
  6. Jangan stresssssssss.... hati-hati jerawat nanti semakin menjadi-jadi. So,, kebersihan wajah juga harus tetap diperhatikan...
Sekian,, Semoga bermanfaat!!!


Read More..

STRATEGI PENGUJIAN PERANGKAT LUNAK

Posted by pendidikan yang sesungguhnya Rabu, 04 Juli 2012 1 komentar
A.     Pendekatan Strategis ke Pengujian Perangkat lunak

Pengujian merupakan rangkaian aktivitas yang dapat direncanakan sebelumnya dan dilakukan secara sistematis. Strategi uji coba perangkat lunak memudahkan para perancang untuk menentukan keberhasilan system yg telah dikerjakan. Hal yg harus diperhatikan adalah langkah-langkah perencanaan dan pelaksanaan harus direncanakan dengan baik dan  berapa lama waktu, upaya dan sumber daya yg diperlukan Strategi uji coba mempunyai karakteristik sbb :

  •     Pengujian mulai pada tingkat modul yg paling bawah, dilanjutkan dgn modul di atasnya kemudian hasilnya dipadukan
  •       Teknik pengujian yang berbeda mungkin menghasilakn sedikit perbedaan (dalam hal waktu)
  •     Pengujian dilakukan oleh pengembang perangkat lunak dan (untuk proyek yang besar) suatu  kelompok pengujian yang independen.
  •      Pengujian dan debugging merupakan aktivitas yang berbeda, tetapi debugging termasuk dalam strategi pengujian.
Validasi dan validasi
Verifikasi dan validasi merupakan dua istilah yang sering dikaitkan dengan tahapan pengujian perangkat lunak. Verifikasi mengacu pada serangkaian aktivitas untuk memastikan bahwa perangkat lunak mengimplementasikan fungsi tertentu secara benar, sedangkan validasi mengacu pada serangkaian aktivitas untuk memastikan bahwa perangkat lunak yang telah dibuat sesuai denga kebutuhan konsumen.
Definisi V&V mencakup serangkaian aktivitas dari penjaminan kualitas perangkat lunak (SQA) yang meliputi kajian teknis formal, audit kualitas dan control, monitoring kinerja, simulasi, studi feasibilitas, kajian dokumentasi, kajian basisdata, analisis algoritma, pengujian pengembangan, pengujian kualifikasi, dan pengujian instalasi.

Pengorganisasian Pengujian Perangkat Lunak
Proses pengujian sebuah perangkat lunak sebaiknya melibatkan pihak yang memang secara khusus bertanggung jawab untuk melakukan proses pengujian secara independen. Untuk itulah diperlukan Independent Test Group (ITG).
Peran dari ITG adalah untuk menghilangkan “conflict of interest” yang terjadi ketika pengembang perangkat lunak berusaha untuk menguji produknya sendiri.
Walaupun seperti itu, sering terjadi beberapa kesalahan pemahaman berkaitan dengan peran ITG, antara lain:
Ø  Pengembang tidak boleh melakukan pengujian sama sekali. Pendapat ini tidak 100% benar, Karena dalam banyak kasus, pengembang juga melakukan proses unit testing dan integration test.
Ø  Perangkat lunak dilempar begitu saja untuk diuji secara sporadic. Hal tersebut adalah salah karena pengemmbang dan ITG bekerja sama pada kesalahan proyek untuk memastikan pengujian akan dilakukan. Sementara pengujian dilakukan, pengembang harrus memperbaiki kesalahan yang ditemukan.
Ø  Penguji tidak terlibat pada proyek sampai tahap pengujian dimulai. Hal tersebut salah karena ITG merupakan bagian dari tim proyek pengembangan perangkat lunak dimana ia terlihat selama spesifikasi proses dan tetap terlinat pada keseluruhan proyek besar.

B.     Masalah-Masalah Strategis

Masalah-masalah berikut harus diselesaikan bila pengujian ingin berlangsung sukses:

  • Menspesifikasikan kebutuhan produk pada kelakuan yang terukur sebelum pengujian dimulai. Strategi pengujian yang baik tidak hanya untuk menenmukan kesalahan, namun juga unutk menilai kualitas program.
  • Menspesifikasikan tujuan pengujian secara eksperangkat lunakisit. Sasaran spesifik dari pengujian harus dinyatakan dalam bentuk yang terukur
  • Mengidentifikasikan kategori user untuk perangkat lunak dan membuat profilnya masing-masing. Beberapa kasus yang menggambarkan scenario interaksi bagi masing-masing kategori dapat mengurangi kerja pengujian dengan memfokuskan pengujian pada penggunaan actual produk.
  • Membangun rencana pengujian yang menegaskan rapid cycle testing. Umpan balik yang muncul dari rapid cycle testing dapaat digunakan untuk mengontrol kualitas dan strategi pengujian yang sesuai.
  • Membangun perangkat lunak yang tangguh yang dirancang untuk menguji dirinya sendiri. Perangkat lunak dapat mendiagnosis jenis-jenis kesalahan tertentu dan mengakomodasi pengujian otomatis dan pengujian regresi.
  • Menggunakan tinjauan formal yang efektif sebagai filter sebekum pengujian. Kajian teknis formal dapat mengungkap kesalahan seefektif pengujian sehingga dapat mengurangi jumlah kerja pengujian.
  • Mengadakan tinjauan formal dapat mengungkap inkonsistensi, penghapusan, dan kesalahan seketika dalam pendekatan pengujian.
  •  Membangun pendekatan yang meningkat secara berkelanjutan untuk proses pengujian. Strategi pengujian harus terukur. Metric yang terkumpul selama pengujian harus digunakan sebagai bagian dari pendekatan control proses statistical bagi pengujian perangkat lunak.
C.     Pengujian Unit

Unit testing (uji coba unit) fokusnya pada usaha verifikasi pada unit terkecil dari desain perangkat lunak, yakni modul. Uji coba unit selalu berorientasi pada white box testing dan dapat dikerjakan paralel ayau beruntun dengan modul lainnya.

Pertimbangan Pengujian Unit

Interface modul diuji untuk memastikan bahwa informasi secara tepat mengalir masuk dan keluar dari inti program yang diuji. Struktur data local diuji untuk memastikan bahwa data yang tersimpan secara temporal dapat tetap menjaga integritasnya selama semua langkah  langkah di dalam suatu algoritma dieksekusi. Kondisi batas diuji untuk memastikan bahwa modul beroperasi dengan tepat pada batas yang ditentukan  untuk membatasi pemrosesan. Semua jalur independen(jalur dasar) yang melalui struktur control dipakai sedikirnya satu kali. Dan akhirnya penanganan kesalan diuji.

Prosedur Pengujian Unit

sumber telah dikembangkan, ditunjang kembali dan diverifikasi untuk sintaksnya, maka perancangan test case dimulai. Peninjauan kembali perancangan informasi akan menyediakan petunjuk untuk menentukan test case. Karena modul bukan program yg berdiri sendiri maka driver (pengendali) dan atau stub perangkat lunaK harus dikembangkan untuk pengujian unit.
Driver adl program yg menerima data untuk test case dan menyalurkan ke modul yg diuji dan mencetak hasilnya.
Stub melayani pemindahan modul yg akan dipanggil untuk diuji

D.    Pengujian Integrasi

Pengujian terintegrasi adl teknik yg sistematis untuk penyusunan struktur program, pada saat dikerjakan uji coba untuk memeriksa kesalahan yg nantinya digabungkan dengan interface. Metode pengujian:
         1.        Top down integration
Merupakan pendekatan inkrmental untuk penyusunan struktur program. Modul dipadukan dgn bergerak ke bawah melalui kontrol hirarki dimulai dari modul utama. Modul subordinat ke modul kontrol utama digabungkan ke dalam struktur baik menurut depth first atau breadth first.
Proses integrasi:

  •            modul utama digunakan sebagai test driver dan stub yg menggantikan seluruh modul yg secara   langsung berada di bawah modul kontrol utama.
          ·         Tergantung pada pendekatan perpaduan yg dipilih (depth / breadth)
          ·         Uji coba dilakukan selama masing-masing modul dipadukan
          ·         Pada penyelesaian masing-masing uji coba stub yg lain dipindahkan dgn modul sebenarnya.         
          ·         Uji coba regression yaitu pengulangan pengujian untuk mencari kesalahan lain yg mungkin muncul.

        2.      Buttom up integration
Pengujian buttom up dinyatakan dgn penyusunan yg dimulai dan diujicobakan dgn atomic modul (modul tingkat paling bawah pd struktur program). Karena modul dipadukan dari bawah ke atas, proses yg diperlukan untuk modul subordinat yg selalu diberikan harus ada dan diperlukan untuk stub yg akan dihilangkan.
Strategi pengujian:
         ·         Modul tingkat bawah digabungkan ke dalam cluster yg memperlihatkan subfungsi perangkat lunak
         ·         Driver (program kontrol pengujian) ditulis untuk mengatur input test case dan output
         ·         Cluster diuji
         ·         Driver diganti dan cluster yg dikombinasikan dipindahkan ke atas pada struktur program

E.     Pengujian Validasi

Setelah semua kesalahan diperbaiki maka langkah selanjutnya adalah validasi terting. Pengujian validasi dikatakan berhasil bila fungsi yg ada pada perangkat lunak sesuai dgn yg diharapkan pemakai. Validasi perangkat lunak merupakan kumpulan seri uji coba black box yg menunjukkan sesuai dgn yg diperlukan.
Kemungkinan kondisi setelah pengujian:
           1.      Karakteristik performansi fungsi sesuai dgn spesifikasi dan dapat diterima
           2.      Penyimpangan dari spesifikasi ditemukan dan dibuatkan daftar penyimpangan.

Pengujian BETA dan ALPHA

Apabila PERANGKAT LUNAK dibuat untuk pelanggan maka dapat dilakukan aceeptance test sehingga memungkinkan pelanggan untuk memvalidasi seluruh keperluan. Test ini dilakukan karena memungkinkan pelanggan menemukan kesalahan yg lebih rinci dan membiasakan pelanggan memahami PERANGKAT LUNAK yg telah dibuat.

Pengujian Alpha
Dilakukan pada sisi pengembang oleh seorang pelanggan. Perangkat Lunak digunakan pada setting yg natural dgn pengembang “yg memandang” melalui bahu pemakai dan merekam semua kesalahan dan masalah pemakaian

Pengujian Beta
Dilakukan pada satu atau lebih pelanggan oleh pemakai akhir perangkat lunak dalam lingkungan yg sebenarnya, pengembang biasanya tidak ada pada pengujian ini. Pelanggan merekan semua masalah (real atau imajiner) yg ditemui selama pengujian dan melaporkan pada pengembang pada interval waktu tertentu.

F.     Pengujian Sistem.

Pada akhirnya Perangkat lunak digabungkan dgn elemen system lainnya dan rentetan perpaduan system dan validasi tes dilakukan. Jika uji coba gagal atau di luar skope dari proses daur siklus pengembangan system, langkah yg diambil selama perancangan dan pengujian dapat diperbaiki. Keberhasilan perpaduan Perangkat lunak dan system yg besar merupakan kuncinya.
Sistem testing merupakan rentetan pengujian yg berbeda-beda dgn tujuan utama mengerjakan keseluruhan elemen system yg dikembangkan.

Recovery Testing
Adalah system testing yg memaksa PERANGKAT LUNAK mengalami kegagalan dalam bermacam-macam cara dan apakah perbaikan dilakukan dgn tepat.

Security Testing
Adalah pengujian yg akan melalukan verifikasi dari mekanisme perlindungan yg akan dibuat oleh system, melindungi dari hal-hal yg mungkin terjadi.

Strees Testing
Dirancang untuk menghadapi situasi yg tidak normal pada saat program diuji. Testing ini dilakukan  oleh system untuk kondisi seperti volume data yg tidak normal (melebihi atau kurang dari batasan) atau fekuensi

G.    Debugging

      Debugging bukan merupakan pengujian, namun merupakan konsekuensi dari pengujian yang berhasil. Jika sebuah kasus uji berhasil menemukan kesalahan, maka proses debugging bertujuan untuk menghilangkan kesalahan tersebut.
Debugging merupakan proses yang sulit untuk dilakukan karena adanya beberapa karakteristik bug seperti:
Ø  Gejala dan penyebab dari bug bisa saja sangat jauh, gejala dapat muncul pada bagian tertentu dari program dan penyebabnya bisa saja berada pada bagian lain yang sangat jauh dari tempat munculnya gejala.
Ø  Gejala dapat hilang ketika kesalahan yang lain diperbaiki
Ø  Gejala dapat ditimbulkan oleh sesuatu yang tidak salah(mis. Pembulatan yang tidak akurat).
Ø  Gejala dapat disebabkan oleh masalah timing.
Ø  Kemungkinan sulit untuk memproduksi kondisi onput secara akurat.
Ø  Gejala dapat terjadi tiba-tiba.
Ø  Gejala dapat disebabkan oleh sesuatu yang didistribusikan melewati sejumlah tugas yang bekerja pada prosesor yang berbeda-beda.

Terdapat 3 jenis pendekatan debugging, antara lain:
1.      Brute Force
Merupakan teknik yang paling sering digunakan dan paling tidak efisien dalam mengisolasi penyebab kesalahan. Dengan prinsip “biarkan computer menemukan kesalahan”, maka seluruh sumber daya computer digunakan dengan tujuan untuk menemukan penyebab kesalahan

2.      Backtracking
Merupakan pendekatan yang dimulai dari penemuan gejala kemudian menelusuri balik hingga ke penyebab.

3.      Cause Elimination
Dimanifestasikan oleh induksi atau deduksi dan menggunakan konsep partisi biner. Data yang berhubungan dengan kesalahan yang muncul dikumpulkan untuk mengisolasi penyebab. Kemudian dibuat sebuah hipotesis dan data digunakan untuk membuktikan hipotesis tersebut. Daftar rangkaian penyebab yang mungkin dibuat dan dilakukan pengujian untuk mengeliminasi penyebab-penyebab tersebut. Jika pengujian menunjukkan kebenaran hipotesis untuk suatu penyebab, maka data diperbaiki untuk mengisolasi bug. Sekali bug ditemukan, bug harus diperbaiki. Namun, perbaikan pada bug dapat memunculkan kesalahan lain, maka ada beberapa pertimbangan sebelum bug dihilangkan antara lain:
Ø  Apakah penyebab bug ada pada bagian lain dari program?
Ø  Apakah “bug yang lain” mungkin terjadi pada saat perbaikan dilakukan?
Ø  Apakah yang telah dilakukan untuk mencegah bug pada tempat pertama?
Read More..

PENGUJIAN PERANGKAT LUNAK

Posted by pendidikan yang sesungguhnya 0 komentar

A.    Dasar-Dasar Pengujian Perangkat Lunak

      Pada proses RPL, pelaku RPL mula-mula berusaha untuk membangun perangkat lunak mulai dari konsep abstrak sampai kepada tahap implementasi yang dapat dilihat, baru kemudian dilakukan pengujian. Pada pengujian perangkat lunak, pelaku RPL menciptakan sekkumpulan kasus uji untuk diujikan kepada perangkat lunak. Proses ini lebih terkesan berusaha untuk ”membongkar: perangkat lunak yang sudah dibangun. Proses pengujian merupakan tahapan dalam RPL di mana secara fisik terlihat lebih banyak sisi deskriptifnya dibandingkan isi konstruktifnya karenatujuannya adalah untuk menemukan kesalahan pada perangkat lunak.
       Pengujian adalah proses pemeriksaan atau evaluasi sistem atau komponen sistem secara manual atau otomatis untuk memverifikasi apakah sistem memenuhi kebutuhan yang dispesifikasikan atau mengindikasikan perbedaan-perbedaan antara yang diharapkan dengan hasil yang terjadi.
Pengujian seharusnya meliputi 3 konsep, yaitu:
·         Demonstrasi validitas perangkat lunak pada masing-masing tahap di siklus pengembangan system
·         Penentuan validitas sistem akhir dikaitkan dengan kebutuhan pemakai
·         Pemeriksaan prilaku sistem dengan mengeksekusi sistem pada data sample pengujian

`           Dasar pengujian perangkat lunak:
·         Sebelum proses perangkat lunak, perekayasa pertaama-tama akan membangun dari konsep abstrak ke implementasi yang dapat dinilai, baru kemudian dilakukan pengujian.
·         Perekayasa menciptakan Test Case untuk ”membongkar” perangkat lunak yang sudah di bangun.
·         Tahap pengujian ini pada dasarnya di anggap destruktif dari pada konstruktif

Dalam melakukan uji coba ada 2 masalah penting yang akan dibahas, yaitu:
a.       Teknik uji coba perangkat lunak
                  b.      Strategi uji coba perangkat lunak

    Sasaran Pengujian Perangkat Lunak

                   Sasaran pengujian perangkat lunak antara lain:
a.       Pengujian adalah proses mengeksekusi program dengan tujuan khusus untuk menemukan kerusakan.
b.      Kasus uji yang baij adalah yang memiliki tingkat kemungkinan tinggi untuk  menemukan kerusakan yang belum ditemukan
c.       Pengujian dikatakan berhasil jika berhasil menemukan kerusakan yang belum ditemukan.

       Sasaran di ats sekaligus mengimplikasikan adanya perubahan cara pandang di mana sebelumnya dikatakan bahwa pengujian yan gberhasil adalah pengujian yang tidak menemukan kesalahan.
Jika pengujian sukses dilakukan, maka akan ditemukan kesalahan dalam perangkat lunak. Sebagai keuntungan tambahan, pengujian menunjukkan bahwa fungsi perangkat lunak bekerja sesuai spesifikasi dan bahwa persyaratan kinerja telah dipenuhi.
Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai realibilitas oerangkat lunak dan beberapa indikasi dari kualitas keseluruhan perangkat lunak. Akan tetapi,  pengujian tidak dapat memperlihatkan bahwa perangkat lunak yang diuji tidak memiliki cacat.

Prinsip Pengujian Perangkat Lunak

                  Serangkaian prinsip pengujian perangkat lunak antara lain:
a.       Semua pengujian harus dapat ditelusuri sampai ke kebutuhan pelanggan.
b.      Pengujian harus direncanakan lama sebelum pengujian dimulai.
c.       Prinsip  pareto berlaku untuk pengujian perangkat lunak. Prinsip pareto mengimplikasikan bahwa 80% dari semua kesalahan yang ditemukan selama pengujian akan dapat ditelusuri sampai 20 % dari modul program. Permasalahannya adalah bagaimana mengisolasi modul yang dicurigai dan mengujinya dengan teliti.
d.      Pengujian harus mulai ”dari yang kecil” dan berkembang ke pengujian ”yang besar”.
e.       Tidak mungkin melakukan pengujian yang mendalam.
f.       Agar memperoleh pengujian yang paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independen. Maksudnya, agar pengujian memiliki tingkat kemungkinan yang tinggi  untuk menemukan kesalahan, maka pelaku RPL yang membuat sistem tersebut bukanlah orang yang paling tepat untuk melakukan semua pengujian bagi perangkat lunak.

Motivasi Pengujian
·         Acceptance Testing
·         Defect Testing

Tahap Pengujian
·         Perencanaan pengujian
·         Perancangan pengujian
·         Eksekusi pengujian
·         Analisis hasil pengujian

Kesalahan Pengujian
·         Kesalahan fungsionalitas (program bertindak berbeda disbanding yang dikehendaki)
·         Kesalahan kehilangan (suatu fungsionalitas yang diperlukan tidak ada)
·         Kesalahan yang memanifestasi dengan penghentian program

Atribut Pengujian Yang Baik:
·         Memiliki probabilitas yang tinggi menemukan kesalahan.
·         Tidak redundan.
·         Harusnyaa ’jenis terbaik’.
·         Tidak boleh terlalu sederhana atau terlalu kompleks.
  
         B.     DESAIN TEST CASE 

     Desain test case merupakan metode pengujian untuk perangkat lunak untuk memastikan                            
kelengkapan pengujian dan memberikan kemungkinan tertinggi untuk mengungkap kesalahan  pada perangkat lunak.
                  Semua produk yang direkayasa dapat diuji dengan satu atau dua cara :
  1.    Dengan mengetahui fungsi yang ditentukan dimana produk yang dirancang untuk  melakukanya, pengujian dapat dilakukan untuk memperlihatkan bahwa masing­-masing fungsi beroperasi sepenuhnya, pada waktu yang sama mencari kesalahan pada setiap fungsi. 
  2. Dengan mengetahui kinerja internal suatu produk, maka pengujian dapat dilakukan untuk memastikan bahwa semua roda gigi berhubungan, yaitu operasi internal bekerja sesuai dengan spesifikasi dan semua komponen internal telah diamati dengan baik. 
             Terdapat bermacam-macam rancangan metode test case yang dapat digunakan, semua menyediakan pendekatan sistematis untuk uji coba, yang terpenting mer=tode menyediakan kemungkinan yang cukup tinggi menemukan kesalahan.


Terdapat 2 macam test case, yaitu:
a.       Pengetahuan fungsi yang spesifik dari produk yang telah dirancang untuk diperlihatkan, test dapat dilakukan untuk menilai masing-masing fungsi apakah telah berjalan sebagaimana yang diharapkan.
b.      Pengetahuan tentang cara kerja produk, test dapat dilakukan untuk memperlihatkan cara kerja dari produk secara rinci sesuai dengan spesifikasinya.

Teknik Pengujian
Dua macam pendekatan test yaitu:
a.       Black Box Testing
Test case ini bertujuan untuk menunjukkan fungsi perangkat lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya.
b.      White Box Testing
Adalah meramalkan cara kerja perangkat lunak secara rinci, karenanya logical path (jalur logika) perangkat lunak akan ditest dengan menyediakan test case yang akan mengerjakan kumpulan kondisi dan atau pengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.

       C.    PENGUJIAN WHITE BOX
  • Pengujian White Box adalah metode desain test case yang menggunakan struktur control desain procedural untuk memperoleh test case.
  • Disebut juga pengujian glass­box.
  • Dengan pengujian white­box, perekayasa dapat melakukan :
a.       Memberikan jaminan bahwa semua jalur independen pada suatu modul telah
digunakan paling tidak satu kali. 
b.      Menggunakan semua keputusan logis pada sisi true and false. 
c.       Mengeksekusi semua loop pada batasan mereka dan pada batas operasional   mereka.
d.      Menggunakan struktur data internal untuk menjamin validitasnya.

      D.    PENGUJIAN BASIS PATH 

         Pengujian basis path memungkinkan desain test case mengukur kompleksitas logiss dari desainmprocedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi. Test case yang dilakukan untuk menggunakan basis set tersebut dijamin untuk menggunakan setia statemen di dalam program paling tidak sekali selama pengujian.

Notasi Diagram Alir 

Diagram Alir atau grafik program menggambarkan aliran control logika. Sebelum metode basis path dapat diperkenalkan, notasi sederhana untuk representasi aliran control yang disebut diagram alir harus diperkenalkan. Pada gambar dibawah ini masing-masing lingkaran disebut simpul grafik alir, yang  merepresentasikan satu atau lebih statemen procedural. Anak panah pada grafik alir tersebut yang disebut edges atau links, merepresentasikan aliran control dan analog dengan anak panah bagan alir.
Edges harus berhenti pada suatu simpul, meskipun bila simpul tersebut tidak merepresentasikan statemen procedural (seperti if-then-else). Area yang dibatasi oleh edge dan simpul disebut region.
Notasi diagram alir:
1.      Sequence

2.      If



3.      While


4.       

Until

5.   Case


  


Kompleksitas Siklomatis 

Kompleksitas Siklomatis adalah metric perangkat lunak yang memberikan pengukuran kuantitaif terhadap kompleksitas logis suatu program. Kompleksitas Siklomatis menentukan jumlah jalur independen dalam basis set suatu program dan memberikan batas atas bagi jumlah pengujian yang harus dilakukan untuk memastikan bahwa semua statemen telah dieksekusi sedikitnya satu kali. Jalur independen adalah jalur yang melalui program yang mengintroduksi sedikitnya satu rangkaian statemen proses baru atau suatu kondisi baru.

       E.     PENGUJIAN STRUKTURAL KONTROL

       Teknik pengujian basis path yang digambarkan di atas adalah satu dari sejumlah teknik untuk pengujian struktur control. Meskipun pengujian basis path sederhana dan sangat efektif, tetapi pengujian ini tidak memadai.
  •  Pengujian Kondisi
        Merupakan sebuah metode desain test case yang  menggunakan kondisi logis yang ada pada suatu program. Kondisi sederhana adalah variable Boolean atau suatu persamaan hubugan, dapat didahului dengan satu operator NOT. 
       Bila terdapat suatu kondisi tidak benar, maka paling tidak satu komponen dari kondisi tersebut salah. Dengan demikian tipe kesalahan pada suatu kondisi meliputi berikut ini:
a.       Kesalahan operator Boolean(ada operator Boolean yang salah/hilang/ekstra)
b.      Kesalahan variable Boolean
c.       Kesalahan tanda kurung Boolean
d.      Kesalahan operator rasional
e.       Kesalahan persamaan aritmatika
         Metode pengujian kondisi berfokus pada pengujian masing-masing kondisi di dalam program. Metode ini mempunyai 2 keuntungan yaitu:

a.       Pengukuran kupasan pengujian dari satu kondisi adalah sederhana
b.      Cakupan pengujian terhadapa kondisi di dalam suatu program memberikan pedoman untuk melakukan pengujian tambahan untuk program tersebut.

Tujuan pengujian kondisi adalah  mendeteksi tidak hanya kesalahan di dalam kondisi program, tetapi juga kesalahan lain pada program.
\
·         Pengujian Aliran Data

Metode ini memilih jalur pengujian dari suatu program sesuai dengan lokasi definisi dan menggunakan variable-variable pada program. Strategi pengujian aliran data berguna untuk memilih jalur pengujian dari suatu program yang berisi if dan loop yang tersarang.

·         Pengujian Loop

Loop adalah batu pertama untuk mayoritas algoritma yang diimplementasikan pada perangkar lunak. Pengujian loop merupakan teknik pengujian white-box yang secara ekslusif berfokus pada validitas konstruksi loop. Empat jelas loop yang berbeda dapat didefinisikan:
a.       Loop sederhana
b.      Loop terangkai
c.       Loop tersarang
d.      Loop tidak terstruktur

           F.     PENGUJIAN BLACK­BOX

             Pengujian black­box berfokus pada persyaratan fungsional perangkat lunak. Disebut juga pengujian behavioral atau pengujian partisi. Pengujian black­box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. 
Pengujian black­box berusaha menemukan kesalahan pada:
·         Fungsi­-fungsi yang tidak benar atau hilang
·         Kesalahan pada interface
·         Kesalahan pada struktur data atau akses database.
·         Kesalahan performansi
·         Kesalahan inisialisasi dan tujuan akhir.

             Metode Black-box ini tidak berfokus pada struktur control seperti pengujian white-box tetapi pada domain informasi. Dengan mengaplikasikan teknik black­-box maka kita menarik serangkaian test case yang memenuhi kriteria berikut:
ü  Test case yang mengurangi, dengan harga lebih dari satu, jumlah test case tambahan yang harus di desain untuk mencapai pengujian yang dapat dipertanggung jawabkan.
ü  Test case yang memberi tahu kita sesuatu mengenai kehadiran atau ketidakhadirankelas kesalahan, daripada member tahu kesalahan yang berhubungan hanya dengan pengujian spesifik. 

Lanjutkan membaca mengenai "Strategi Pengujian Perangkat Lunak"
Read More..

Total Tayangan Halaman