Halaman

Jumat, 30 Maret 2018

Software Testing


Assala’alaikum Wr. Wb…

Hallo, guyyss...
Pada postingan kali ini, saya akan menjelaskan tentang Software Testing.

1.      Testing Software
Definisi Testing Software adalah proses mengoprasikan software dalam suatu kondisi yang dikendalikan,untuk verifikasi apakah telah berlaku sebagaimana telah ditetapkan, validasi apakah spesifikasi yang telah ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna yang sebenarnya

2.      Prinsip Testing
·         Seluruh test harus sesuai dengan customer requirement
·         Dipersiapkan jauh sebelum mulai
·         Testing harus dimulai "in the small" dan maju menuju testing "in the large"
·         Dilakukan oleh pihak ketiga

3.      Software Testing Strategis
·         Unit Testing
·         Integration Testing
·         Validation Testing
·         System Testing

4.      Recovery Testing
·         Sistem berbasis komputer harus bisa merecover dari kesalahan dan mengulangi proses dalam waktu yang telah ditetapkan
·         Dalam banyak kasus, sistem harus fault tolerant, kesalahan proses tidak menyebabkan seluruh sistem berhenti
·         Recovery testing ---> memaksa sw untuk rusak dengan berbagai cara dan membuktikan bahwa recovery dilakukan secara tepat.

5.      Security Testing
·         Membuktikan bahwa mekanisme proteksi  telah mekanisme proteksi telah memproteksi dari penetrasi yang tidak tepat.
·         Selama security testing, penguji berperan sebagai individu yang ingin memasuki sistem.

6.      Performance Testing
·         Berhubungan dengan stress testing
·         Dirancang untuk menguji run-time performance sw dalam konteks sistem yang terintegrasi
Internal dan external view of testing, terdiri atas :
·         White-box testing
·         Blavk-box testing

Cukup sampai disini dulu ya, kurang lebihnya saya mohon maaf  ^_^

Wassalamu'alaikum Wr. Wb...

Requirement Modelling


Assala’alaikum Wr. Wb…

Hallo, guyyss...
Pada postingan kali ini, saya akan menjelaskan tentang Requirement Modelling. Oke mari kita langsung saja ke pembahasannya ^_^

Requirement Modelling (Data Model)
1.      Menggali Requirement
Pertemuan dilakukan dan dihadiri oleh software engineer dan customer aturan untuk persiapan dan partisipasi ditetapkan fasilitator (customer, pengembang, atau orang luar) untuk mengontrol pertemuan."Mekanisme definisi" (lembar kerja, flipchart, atau stiker dinding, chat room, atau forum virtual) digunakan.
Tujuannya adalah :
·         Untuk mengedintifikasi masalah
·         Mengusulkan elemen dari solusi
·         Menegoisasikan pendekatan yang berbeda
·         Menentukan set awal persyaratan solusi

2.      Abstraksi Data
Tiga level Abstraksi Data
·         View Level ( model data konseptual)
·         Logical Level ( model data implementasi)
·         Physical Level ( model data fisik)

3.      Pemodelan Data Menggunakan Diagram Entity Relationship
Entitas
·         Sesuatu dalam dunia nyata dengan keberadaan yang independen
·         Dapat diidentifikasi secara unik
v  Tipe Entitas ---->sekelompok entitas yang memiliki atribut sama
v  Atribut ---->properti yang mendeskripsikan tipe entitas

4.      DFD
·         DFD adalah grafik yang menggambarkan aliran informasi dan transportasi yang ditunjukkan dengan perpindahan data dari input ke output.
·         DFD digunakan untuk mempresentasikan sistem atau software pada beberapa level abstraksi.
·         DFD dapat dipartisi menjadi level yang menunjukan penambahan aliran informasi dan detail fungsi.

Cukup sampai disini dulu ya, kurang lebihnya saya mohon maaf. See you in the next post guyyss ^_^

Wassalamu'alaikum Wr. Wb...

Selasa, 20 Maret 2018

Logical Database Design and The Relational Model


Assala’alaikum Wr. Wb…

Hallo, guyyss...
Postingan kali ini, saya akan menjelaskan tentang apa itu Perancangan Skema Logis Dengan Model Rasional. Cekidot...

Pengantar Model Relasional
Konstruksi utama dalam menginterpretasikan data dalam bentuk relasional adalah bentuk relasi yang meliputi “ Skema relasi dan contoh relasi”
Skema relasi yakni suatu cara menyusun suatu relasi dengan cara menentukan nama relasi, nama masing-masing field (kolom / atribut) dan domain dari masing-masing field yang memiliki kumpulan nilai yang sesuai atau pada intinya merupakan tipe field pada bahasa pemrograman. 
Contoh relasi adalah dengan menggunakan table. Berikut contoh model relasional dalam bentuk skema relasi dan contoh relasi dalam bentuk table. Misalkan kita akan membuat suatu database untuk suatu akademik dimana terdapat table mahasiswa yang terdapat field NIM, Nama, Alamat, No. Telp.
Inilah yang dinamakan skema relasi. Sedangkan contoh relasi dalam bentuk table seperti dibawah ini:
Mahasiswa ( NIM = Char, Nama = char, Alamat = char, No_Telp = integer )

Contoh memanipulasi table dengan menggunakan SQL :
1.      Membuat table baru
Create table Mahasiswa ( NIM char(12) not null, Nama char(20) not null, Alamat char(32), No_Telp int(12) )
2.      Menyisipkan isi table.
Insert into Mahasiswa ( NIM, Nama, Alamat, No_Telp )
Values (“G231080088”,”Very”,”Magelang”,”081226956xxx”)
3.      Menghapus isi table.
Delete from Mahasiswa where Nama = “Very”

Batasan Integritas
Yakni suatu kondisi yang ditetapkan pada skema database relasional dan membatasi data yang dapat disimpan dalam contoh database relasional.
Macam-macam Batasan Integritas
·         Batasan Kunci
Adalah subset / bagian minimal tertentu pada field sebuah relasi merupakan identifier yang unik untuk suatu tuple. Ini lebih dikenal dengan nama Candidate Key pada suatu table dimana Candidate key ini diambil dari kumpulan field yang tidak mungkin sama nilainya / bersifat unik. Dalam table Mahasiswa Candidate Key ini diwakili oleh NIM dan Nama.
·         Batasan Kunci Tamu
Adalah batasan pada suatu table yang diambil dari primary key pada table lain sehingga menjadi kunci tamu ( foreign key ) pada table yang dimaksud.
·         Batasan Umum
Adalah batasan pada suatu table yang diambil dari nilai – nilai tertentu.
Sebagai contoh dari table Mahasiswa yang berisi ( NIM char(12) not null, Nama char(20) not null, Alamat char(32), No_Telp int(12) ) dan table Mata Kuliah yang berisi ( Kode char(12) not null, Nama char(12) not null, SKS char(3) ) maka disini yang besifat candidate key adalah NIM dan Nama sedang yang bersifat kunci tamu adalah Kode.

Query Data Relasional
Query merupakan pertanyaan mengenai data sedangkan jawabannya terdiri dari relasi baru yang memuat hasil. Bahasa Query merupakan bahasa khusus yang digunakan untuk menuliskan query. SQL adalah bahasa queery yang paling popular dalam SMBD relasional.
Contoh bahasa query dengan SQL :
Select * from Mahasiswa where Alamat = “Semarang”

Desain Database Logis Dari E-R Ke Relasional
Model ER digunakan untuk menggambarkan desain database awal yang memiliki level tinggi dilakukan dengan cara pendekatan untuk menghasilkan skema database relasional yang sangat mendekati desain ER.
Contoh Database E –R ke Relasional :

Diagram E – R nya : 
 [ER.JPG]

Model Relasional dalam skema relasi :

CREATE TABLE mahasiswa (nim CHAR(9),
nama_mhs CHAR(20),
alamat_mhs CHAR(40),
tgl_lahir DATE,
PRIMARY KEY (nim))

CREATE TABLE matakuliah (kode_mtkul CHAR(5),
nama_mtkul CHAR(20),
sks INTEGER,
semester INTEGER ,
PRIMARY KEY (kode_mtkul))
CREATE TABLE belajar (nim CHAR(9),
kode_mtkul CHAR(5),
nilai CHAR(2),
PRIMARY KEY (nim,kode_mtkul),
FOREIGN KEY (nim) REFERENCE mahasiswa,
FOREIGN KEY (kode_mtkul) REFERENCE matakuliah)

Cukup sampai disini dulu ya, kurang lebihnya saya mohon maaf. Terimakasih sudah berkunjung ^_^

Wassalamu'alaikum Wr. Wb...

Sabtu, 10 Maret 2018

Model Proses Pengembangan Perangkat Lunak

Assala’alaikum Wr. Wb…

Hallo, guyyss...
Pada postingan sebelumnya saya sudah membahas tentang apa itu SDLC dan macam-macam metode SDLC. Nahh, kali ini saya ingin membahas satu per satu pengertian dari macam-macam metode SDLC itu. Oke mari kita langsung saja ke pembahasannya ^_^

1.      Waterfall
Metode SDLC Waterfall
Waterfall apabila diartikan secara literature berarti air terjun. Namun demikian, bagi ilmu komputer dan juga teknologi informasi, waterfall merupaan salah satu jenis metode yang digunakan dalam melakukan sebuah pengembangan sistem. Metode pengembangan system sendiri dapat diartikan sebagai sebuah proses mengembangkan dan juga mengubah suatu sistem perangkat lunak atau software dengan menggunakan teknik teknik tertentu.
Pengembangan sistem dan juga perangkat lunak dari sebuah software computer dilakukan secara sekuensial dan juga saling berurutan. Pada model pengembangan sistem metode waterfall, sebuah pengembangan system dilakukan berdasarkan urutan analisis, desain, pengkodean, pengujian, dan berakhir pada tahap supporting. Disebut sebagai metode waterfall dikarenakan tahapan dan juga urutan dari metode yang dilakukan merupakan jenis metode yang berurutan dan berkelanjutan, seperti layaknya sebuah air terjun.
Kelebihan dan Kekurangan dari Metode Waterfall
Sebagai sebuah metode dalam mengembangkan sistem, tentu saja metode waterfall memiliki beberapa kelemahan dan juga kelebihan. Berikut ini adalah beberapa kelebihan dan juga kekurangan dari metode waterfall dalam mengembangkan system :
Kelebihan
·         Memiliki proses yang urut, mulai dar analisa hingga support.
·   Setiap proses memiliiki spesifikasinya sendiri, sehingga sebuah sistem dapat dikembangkan sesuai dengan apa yang dikehendaki (tepat sasaran)
·         Setiap proses tidak dapat saling tumpang tindih.
Kekurangan
·         Proses yang dilakukan cenderung panjang dan juga lama.
·         Biaya penggunaan metode yang cenderung mahal.
·    Membutuhkan banyak riset dan juga penelitian pendukung untuk mengembangkan sistem menggunakan metode waterfall.

2.      Spiral
Model ini berbasiskan pada kebutuhan terhadap aplikasi secara keberlanjutan untuk menyaring kebutuhan-kebutuhan tersebut dan estimasi proyek secara keseluruhan. Model ini menerapkan perancangan model proses yang lebih dinamis dengan terus beradaptasi terhadap kebutuhan proses bisnis dimasa yang akan datang sehingga versi aplikasi terus berkembang dengan fitur-fitur yang mengalami peningkatan dari waktu kewaktu.
Kebutuhan waktu untuk pengembangan aplikasi yang cepat dengan kapasitas proyek yang relatif kecil sangat relefan dengan model spiral ini. Keterlibatan pelanggan dengan tim pengembang perangkat lunak akan sangat sering terjadi karena pelanggan akan memberikan feedback dan persetujuan setiap tahap dalam pengembangan aplikasi perangkat lunak. Dengan adanya feedback dari pelanggan maka estimasi waktu terhadap penyelesaian proyek perangkat lunak menjadi semakin jelas.

Kelebihan model Spiral
·         Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
·         Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
Kekurangan model Spiral
·         Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses
·         Model spiral ini merupakan model yang masih baru sehingga belum terbukti apakah model ini efisien atau tidak.

3.      Iterative
SDLC model Iteratif dimulai dengan sebuah implementasi sederhana dari suatu set software requirement, kemudian secara iteratif mengembangkan sistem yang ditandai dengan peningkatan versi hingga sistem lengkap berhasil diimplementasikan dan siap untuk digunakan.
Sebuah siklus model iterative tidak dimulai dengan persyaratan spesifikasi software secara lengkap. Sebaliknya, pengembangan dimulai dengan mengimplementasikan hanya sebagian dari keseluruhan software, yang kemudian diulas guna melakukan identifikasi kemungkinan adanya persyaratan lebih lanjut. Proses ini kemudian diulang, dan menghasilkan versi baru dari software diakhir setiap iterasi.
Keuntungan dari model ini adalah bahwa adanya model kerja dari sistem pada tahap awal dari development yang mempermudah untuk menemukan kekurangan fungsional atau desain. Menemukan masalah pada tahap awal memungkinkan untuk mengambil langkah-langkah perbaikan dalam anggaran yang terbatas.
Kerugian model SDLC ini adalah bahwa hanya berlaku untuk proyek-proyek software development skala besar. Hal ini terjadi karena sulit untuk memecahkan sistem software yang kecil menjadi modul-modul yang lebih kecil.

4.      Fountain
    Model Fontain merupakan perbaikan logis dari model waterfall, langkah langkah dan urutan prosedurnya pun masih sama. Namun pada model Fountain ini kita dapat mendahulukan sebuah step ataupun melewati step tersebut, akan tetapi ada yang tidak bisa anda lewati stepnya seperti kita memerlukan design sebelum melakukan coding jika itu di lewati maka akan ada tumpang tindih dalam siklus SDLC.

5.      Rapid Prototyping
Metode SDLC Rapid Prototyping adalah merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem.
Untuk mengatasi ketidakserasian antara pelanggan dan pengembang, maka harus dibutuhakan kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalm menyelasaikan sistem yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan.

Kelebihan dan Kekurangan
Kelebihan Rapid Prototyping :
·         Kelebihan Mengurangi waktu pengembangan produk.
·         Meminimalisasi perubahan-perubahan mendasar.
·         Meningkatkan efektifitas komunikasi di lingkungan industri atau dengan konsumen.
·    Memperpanjang jangka pakai produk, misalnya dengan menambahkan beberapa komponen fitur atau mengurangi fitur-fitur yang tidak diperlukan dalam desain.
Kekurangan Rapid Protoyping :
·         Memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
·         Resiko teknis yang tinggi.
·         Sistem yang tidak bisa dimodularisasi.
·         Memerlukan kerja keras dalam pengembangan.

6.      Build and Fix
Metode Build and fix pertama kali di pakai oleh perusahaan Volkswagen pada tahun 1950 -1960 untuk memproduksi dan memasarkan serta membuat customer merasa puas dengan produk mereka. Oleh karena itu, Volkswagen selalu melakukan update terhadap produk mereka tanpa melakukan tes apakah mobil itu dirasa cocok oleh customer atau tidak. Maka dari itu, customerlah yang menentukan sendiri sikap mereka terhadap produk Volkswagen apakah sudah sesuai ataukah harus ada perbaikan di sana sini karena adanya laporan dari beberapa masalah / problem ( bisa di sebut juga : damage control ).
Metode ini berjalan dengan sangat baik. Tapi, ini tergantung bagaimana setiap pelanggan, user, client memperlakukan produk anda. Setiap pernyataan terhadap produk anda akan berbeda – beda dari setiap customer karena di proses awal tidak di lakukan proses testing dan analisa terlebih dahulu. Hal inilah yang membuat perusahaan mobil Volkswagen selalu melakukan update terbaru atau hanya sekedar melakukan pembenahan, perbaikan produk – produk mereka hanya untuk memenuhi keinginan kepuasan customer.
Kelebihan dari Build and fix sendiri sangatlah minim. Karena kelebihan itu sendiri merupakan gambaran dari kelemahannya. Karena seperti kita ketahui, build and fix dibuat tanpa melalui tahapan analisis dulu. Karena itu Build and fix sangat cocok di gunakan ketika harus membuat software yang tidak memiliki kompleksitas tinggi sehingga mengurangi kesempatan program untuk mengalami error, bug, hang, atau semacamnya. Dengan begitu pihak pengembang dapat mengurangi seminimal mungkin pembiayaan untuk maintenance.
Kelemahan tidak cocok ketika di pakai untuk membuat produk dengan kompleksitas tinggi dan dengan ukuran yang besar. Biaya yang di butuhkan akan menjadi sangat membengkak dan membesar ketika build and fix di gunakan untuk membuat projek berskala besar. Karena semakin besar produk yang di hasilkan maka, akan sangat sering maintenance di lakukan.

7.      Syncronize and Stabilize
Model ini adalah model yang digunakan oleh Microsoft. Secara garis besar, Model Synchronize and Stabilize ini sama dengan model incremental, tetapi oleh CUsamano dan Selby tahun 1997 menyebutnya sebagai model Syncronize and Stabilized Model karena ada beberapa proses manajemen yang ditekannya oleh microsoft.
Analisis kebutuhan dilakukan dengan wawancara dengan sejumlah konsumen yang potensial. Kemudian kebutuhan-kebutuhan tersebut dibuat paket dan disusun daftar secara prioritas. Kemudian spesifikasi ditulis. Selanjutnya pekerjaan dibagi dalam tiga atau empat bagian pembangunan software. Bagian pertama menangani hal-hal yang paling kritis, bagian selanjutnya menangani hal-hal yang krisis selanjutnya, dan seterusnya.
Pada akhirnya, setiap hari dilakukan proses sinkronisasi, yaitu menggabungkan bagian-bagian yang terpisah tersebut kemudian ditesting. Proses stabilisasi dilakukan pada akhir pembangunan setiap bagian. Kesalahan yang terjadi akan diperbaiki, dan tidak akan ada perubahan spesifikasi.

8.      Extreme Programming
Extreme Programming (XP) merupakan salah satu metode pengembangan software yang termasuk dalam Agile Software Development. XP menggunakan pendekatan object-oriented. Dalam XP, terdapat 5 nilai yang menjadi pondasi yaitu communication, simplicity, feedback, courage, dan respect. Komunikasi yang efektif antara pengembang perangkat lunak dan pihak-pihak yang terlibat sangatlah penting. Dalam XP, desain dijadikan kebutuhan intermediate. Desain dibuat sesederhana mungkin agar mudah mengimplementasikan code. Disini dapat terjadi perubahan struktur desain atau perubahan source code tanpa mengubah fungsi utamanya (refactoring). Feedback akan diberikan saat peningkatan dan pengimplementasian perangkat lunak.

Kelebihan dan Kelemahan Extreme Programing
Keunggulan :
·         Menjalin komunikasi yang baik dengan klien. (Planning Phase)
·         Menurunkan biaya pengembangan (Implementation Phase)
·         Meningkatkan komunikasi dan sifat saling menghargai antar developer. (Implementation Phase)
·         XP merupkan metodologi yang semi formal. (Planning Developer) harus selalu
siap dengan perubahan karena perubahan akan selalu diterima, atau dengan
kata lain eksibel. (Maintenance Phase)
Kelemahan :
·         Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga.
·         XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

Nah itulah 8 Pengertian dari Macam-Macam Metode Pengembangan SDLC, dan terimakasih sudah berkunjung ^_^

Wassalamu'alaikum Wr. Wb...