Skip to content

Jurnalistik Website

INFORMATIKA

Primary Menu
  • PROFIL/CV
  • MAHASISWA
    • 2023-INFORMATIKA
      • TEAM A
        • Akhdan Muhana
        • Allyza Fauziyah
        • Zulfa Thafira Alfat
        • Renathan Fernando
        • Gelar Aditya Pratama
      • TEAM B
        • Muhamad Padil Firmansyah
        • Distra Helvansya
        • Alfini Rahmatillah
        • Najmi Rodibillah
        • Muhammad Rafhli Alfarizi
      • TEAM C
        • Zahra Inggriawati
        • Mirna Noviana
        • Muhammad Renaldy
        • Hadyan Syauqil Firdaus
        • Ranatri Julia Zahra
      • TEAM D
        • Risjad Hadi Cahya
        • Farhan Maksudi
        • Delfian
        • Farhan Prayoga
      • TEAM A (Sore)
        • DEDE SHALFA ARIANDI
        • SITI ROHIMAH
        • FRANKY CRISTIAN
        • DEWA SAEPURRAHMAN
      • TEAM B (Sore)
        • FIRAS ARIA ANDIKA
        • M TSANI NUR RAMDHAN
        • M GALLANT
        • MUHAMAD FACHRIL ILYASA
        • FAJAR RIZKI AKBAR
    • 2024-INFORMATIKA
      • Kelompok 1
        • Artikel Kelompok 1
        • Isyal Fauzi
        • Andika Wahyu Hidayat
        • Shera Nisa Shaefar
        • Muhammad Taura Abdullah Azzam
        • Rico Prima Putra
      • Kelompok 2
        • Artikel Kelompok 2
        • Sazkia Salsabila
        • Seli Nopiani
        • Sihab Abdul Hakim
        • Algariz Tegar Aziz
        • M Hasbi Hasbullah
      • Kelompok 3
        • Artikel Kelompok 3
        • Sendi Maulana
        • Kamila Eka Yantri
        • Najma Fajrian Nurul Iman
        • Syahwal Dwi Putra
        • Fadhiatul Hamid
      • Kelompok 4
        • Artikel Kelompok 4
        • Akbar Maulana
        • Imron Firmansyah
        • M. Ihsan
        • Ade Ramadhani Putra
        • Sendi Ardiansyah
      • Kelompok 1 (Sore)
        • Indra Novea Hafiz Suherman Putra
        • Widi Dwika Rahayu
        • Asep Ruliansyah
        • Raihan Rawady Rimba
        • Salma Cherani
      • kelompok 2 (Sore)
        • MUHAMMAD LUTFI YUDISWARA
        • IRSAN PERMADI
        • HISMAN GUNAWAN
        • AULIA PUTRI SOLEHA
      • kelompok 3 (Sore)
        • Nayla Putri Aulia
        • Naila Syahirah
        • Ahmad Nawawi
        • Agung Almalik Izulhaq
        • Arsil Saputra
      • kelompok 4 (Sore)
        • Restu Ardiansyah
        • Yusup Jaelani
        • Putra Arya Mas Bima
        • Achsan Amirul Bahar
        • Mochamad Maha Raden
        • Cica Cahyani
    • 2025-Informatika
      • 2025 – Reguler Pagi
        • AURA SYAHWA SOMANTRI
        • Azreal Azaki
        • Erfan Maulana Hidayat
        • Jana Maulana Fajar
        • Moh Qiral Brimasakti
        • Muhammad Rahman
        • Nauval Abdurachman
        • Redi Aditya
        • Roby Surya
        • Siti Fatimah Azzahra
      • 2025 – Reguler Sore
        • ADIL MAULANA
        • Adisti Rahayu
        • Afdhal Haq
        • MUHAMAD ALFAN FIRDAUS
        • BAYU HADI PRATAMA
        • CEPY EDUARS
        • DEVIT MAHARDIKA SAMBORA
        • MUHAMAD FAKHRI MAULIDAN
        • M. FARIDH FADHLI DZUL AKBAR
        • GALIH SAPRIATNA
        • MUHAMMAD KHAIRI BAHIR
        • M TAJUL WALI
        • MUHAMMAD ALDI AFRIZAL
        • MUHAMMAD FASYA HIDAYATULLOH
        • M. FAUZAN DWINASRULLAH
        • R DIKA PUTRA PURWANDA
        • REREN NURAENI GUNAWAN
        • REYHAN ARDIANSYAH
        • SATRIA MUHAMMAD AKMAL AULIA
        • MOHAMMAD SABIL
  • PRODUK/PROGRESS
  • Artikel
  • Berita
  • MATERI KULIAH
    • Pengantar Aplikasi Komputer
      • Rencana Pembelajaran Semester (RPS)
      • Sejarah Komputer
      • Microsoft Office
      • Microsoft Word
      • Microsoft Excel
      • Microsoft Access
    • Logika dan Algoritma
      • Rencana Pembelajaran Semester (RPS) Logika & Algoritma
      • Pengantar Logika dan Algoritma
      • Proposisi & Nilai Kebenaran
      • Operator Logika: AND, OR, NOT
      • Tabel Kebenaran (Truth Table)
      • Definisi & karakteristik
      • Tahapan problem solving
      • Struktur Algoritma: Sequence & Selection
      • Struktur Algoritma: Looping (Perulangan)
      • Simbol Flowchart (Diagram Alir)
      • Pseudocode
      • Variabel, tipe data, array
      • Linear Search (Pencarian Linear)
      • Bubble Sort (Pengurutan Gelembung)
      • Kompleksitas Algoritma & Big-O Notation
    • Pemrograman Dasar
      • Rencana Pembelajaran Semester (Pemrograman Dasar)
      • Materi 1 (Perkenalan Pertemuan 1 – 16)
      • Pengantar Pemrograman Dasar
      • Pertemuan 1 & 2
      • Pertemuan 3 & 4
      • Pilihan Aplikasi yang tepat untuk koding C++
      • Pertemuan 5 & 6
      • Contoh Program C++ – Basic
      • Menguasai Dasar-dasar Pemrograman C++
      • Operator Relasional
      • Operator Logika pada C++
      • Operator Assignment pada C++
      • STRUKTUR KONTROL LANJUTAN DALAM C++
      • Array (Satu Dimensi)
      • Array Multidimensi
    • Website Fundamental
      • Rencana Pembelajaran Semester (Website Fundamental)
      • Materi Pertemuan 1
      • Mengenal tag HTML HEAD TITLE BODY dan lainnya
      • Background Warna – Gambar dan input Gambar
      • Membuat Formulir (FORM)
      • Membuat Teks Berjalan/Bergerak
      • Membuat Tabel dengan HTML
      • Membuat Biodata Sederhana
      • CSS (Cascading Style Sheets)
      • Integrasi HTML dan CSS (Website Fundamental)
      • Etika dan Best Practice Pengembangan Website
      • Perancangan Proyek Web
    • Jaringan Komputer
      • Rencana Pembelajaran Semester (Jaringan Komputer)
      • Materi 1 (Perkenalan Pertemuan 1 – 16)
      • Pengantar Jaringan Komputer
      • SEJARAH JARINGAN KOMPUTER
      • STANDARISASI JARINGAN KOMPUTER
      • 🌐 TREN DAN MODERNISASI JARINGAN KOMPUTER DI ERA DIGITAL
      • Professional Team IT bidang Network Architect
      • Konsep Dasar dan Klasifikasi Jaringan Komputer
      • Topologi Jaringan Komputer
      • PERANGKAT JARINGAN KOMPUTER
      • 🌐 PERANGKAT JARINGAN (NETWORK DEVICES) – Part-2
      • Media Transmisi Jaringan Komputer
      • 🌐 MODEL REFERENSI OSI (OPEN SYSTEMS INTERCONNECTION)
      • MODEL ARSITEKTUR TCP/IP
      • MODEL REFERENSI JARINGAN – OSI (Open Systems Interconnection) & TCP/IP
      • Praktikum Jaringan Komputer (part 1)
      • IP Addressing (Pengalamatan IP / Internet Protocol)
      • SUBNETTING
      • Routing & Switching
      • File Transfer Protocol (FTP)
      • ENKAPSULASI DATA (DATA ENCAPSULATION)
      • Access Point dan Jaringan Wireless
      • Simulasi Penggunaan dan Pengelolaan Cisco Packet Tracer
      • SIMULASI JARINGAN MENGGUNAKAN CISCO PACKET TRACER
      • Network Service
      • Telecommunication Network (TELNET)
    • Keamanan Jaringan Komputer
      • Rencana Pembelajaran Semester (Keamanan Jaringan Komputer)
      • Materi 1 (Perkenalan Pertemuan 1 – 16)
      • Pertemuan 1 & 2 – Keamanan Jaringan Komputer
      • Pengantar Arsitektur Cloud Computing
      • File Transfer Protocol (FTP)
      • Cyber Security
      • Firewall
      • Arsitektur MikroTik RouterOS
    • Sistem Manajemen Basis Data
      • Rencana Pembelajaran Semester (Sistem Manajemen Basis Data)
      • Konsep dan Fungsi Sistem Manajemen Basis Data
      • Arsitektur dan Komponen DBMS
      • Model Data dan Basis Data Relasional
      • Manajemen Penyimpanan dan Indeks
      • Manajemen Transaksi dan Concurrency Control
      • Keamanan dan Integritas Basis Data
      • Query Processing dan Optimasi
      • Backup dan Recovery Basis Data
      • Administrasi Basis Data (Database Administration)
    • Pemrograman Basis Data
      • Rencana Pembelajaran Semester (Pemrograman Basis Data)
      • Konsep Dasar Basis Data dan DBMS
      • 💻 INSTALASI DATABASE (SERVER & CLIENT) DAN CARA PENGGUNAANNYA
      • MEMBUAT DATABASE MENGGUNAKAN CMD
      • Model Data dan ERD (Entity Relationship Diagram)
      • Perancangan Basis Data Menggunakan ERD
      • SQL – Data Definition Language (DDL)
      • SQL – Data Manipulation Language (DML)
      • Query Lanjutan: JOIN & Fungsi Agregat
      • Normalisasi Basis Data
      • Koneksi Basis Data dengan Aplikasi
      • Membuat Database (CRUD) Program Sederhana PHP+MySQL, Studi Kasus Penerimaan Siswa Baru
      • Transaksi Database dengan Aplikasi
      • Keamanan dan Etika Pengelolaan Data
      • 🧑‍🎓 MEMBUAT DATABASE (CRUD) PROGRAM SEDERHANA PHP + MySQL, 🎯 STUDI KASUS: PENERIMAAN MAHASISWA BARU (PMB)
      • 🛒 MEMBUAT DATABASE (CRUD) PROGRAM SEDERHANA PHP + MySQL. 🎯 STUDI KASUS: DATA PRODUK
      • 📚 MEMBUAT DATABASE (CRUD) PROGRAM SEDERHANA PHP + MySQL, 🎯 STUDI KASUS: DATA PEMINJAMAN BUKU
    • Pemrograman Berorientasi Objek
      • Rencana Pembelajaran Semester (Pemrograman Berorientasi Objek)
      • Pemrograman Berorientasi Objek – Materi 1 (Perkenalan)
      • Perbandingan Pemrograman Prosedural & Pemrograman Berorientasi Objek
      • PHP untuk OOP
      • Definisi Class, Object, Property & Method pada Pemrograman Berorientasi Objek
      • Definisi Construct, Array dan Loop (Foreach) pada Pemrograman Berorientasi Objek
      • Inheritance (Pewarisan) dalam PHP
      • Encapsulation (Enkapsulasi): “Pemrograman Berorientasi Objek (OOP) PHP”
      • Polymorphism (Polimorfisme): “Pemrograman Berorientasi Objek (OOP) PHP”
      • Abstraksi (OOP PHP) pada Mata Kuliah: Pemrograman Berorientasi Objek (PBO)
      • Abstraction (Abstraksi): “Pemrograman Berorientasi Objek (OOP) PHP”
      • File Transfer Protocol (FTP)
    • Rekayasa Web
      • Rencana Pembelajaran Semester (RPS)
      • PENGANTAR REKAYASA WEB
      • Komponen website
      • WEB DEVELOPMENT LIFECYCLE
      • KONSEP CMS (CONTENT MANAGEMENT SYSTEM)
      • Instalasi CMS
        • Praktikum Installasi CMS WordPress
        • MODUL PRAKTIKUM
      • POST DAN PAGE (WORDPRESS)
      • TEMA WORDPRESS
      • PLUGIN WORDPRESS
      • LAYOUT WEBSITE
      • USER ROLE (PERAN PENGGUNA)
      • OPTIMASI SEO WORDPRESS
      • SECURITY WEBSITE WORDPRESS
      • BACKUP SYSTEM WORDPRESS
      • HOSTING WEBSITE
    • Arsitektur Cloud Computing
      • Rencana Pembelajaran Semester (RPS)
      • Pengantar Arsitektur Cloud Computing
      • Konsep Dasar Arsitektur Cloud
      • Model Layanan Cloud
      • Model Deployment Cloud
      • Virtualisasi dalam Cloud Computing
      • Komponen Infrastruktur Cloud
      • Storage dalam Cloud
      • Jaringan dalam Cloud
      • Keamanan Cloud (Cloud Security)
      • Manajemen Cloud (Cloud Management)
      • Container dan Microservices
      • Arsitektur Aplikasi Cloud
      • DevOps dalam Cloud
      • Studi Kasus Implementasi Cloud
    • Installasi Komputer (Hardware & Software)
      • PENGENALAN INSTALASI KOMPUTER
      • JENIS DAN KOMPONEN HARDWARE KOMPUTER
      • KOMPONEN INTERNAL KOMPUTER
      • PERANGKAT PENYIMPANAN DAN POWER SUPPLY UNIT (PSU)
      • PERAKITAN KOMPUTER
      • BIOS DAN UEFI
      • INSTALASI SISTEM OPERASI
      • PARTISI HARDISK
      • INSTALASI DRIVER
      • INSTALASI SOFTWARE APLIKASI
      • SISTEM OPERASI LINUX
      • INSTALASI PERANGKAT JARINGAN DASAR
      • TROUBLESHOOTING KOMPUTER
      • MAINTENANCE KOMPUTER (PERAWATAN DAN PEMELIHARAAN KOMPUTER)
    • Pengantar Sistem Informasi
      • Rencana Pembelajaran Semester
      • KONSEP SISTEM
      • KONSEP SISTEM INFORMASI
      • PERAN SISTEM INFORMASI DALAM ORGANISASI
      • JENIS-JENIS SISTEM INFORMASI
      • TEKNOLOGI INFORMASI PENDUKUNG SI
      • BASIS DATA DALAM SISTEM INFORMASI
      • E-BUSINESS DAN E-COMMERCE
      • SISTEM INFORMASI DI ERA DIGITAL
      • KEAMANAN SISTEM INFORMASI
      • ETIKA DAN DAMPAK SOSIAL SISTEM INFORMASI
      • PENGEMBANGAN SISTEM INFORMASI
      • ANALISIS KEBUTUHAN SISTEM
      • PERANCANGAN SISTEM SEDERHANA (BERBASIS ANALISIS KEBUTUHAN)
    • Organisasi dan Arsitektur Komputer
      • RENCANA PEMBELAJARAN SEMESTER (RPS) Organisasi dan Arsitektur Komputer
      • PENGANTAR ORGANISASI & ARSITEKTUR KOMPUTER
      • SISTEM BILANGAN DAN REPRESENTASI DATA
      • LOGIKA DIGITAL DAN GERBANG LOGIKA
      • STRUKTUR DAN FUNGSI CPU (CENTRAL PROCESSING UNIT)
      • SET INSTRUKSI (INSTRUCTION SET ARCHITECTURE / ISA)
      • MEMORI KOMPUTER
      • SISTEM INPUT/OUTPUT (I/O)
      • BUS SISTEM
      • PIPELINE DAN PARALLEL PROCESSING
      • CACHE MEMORY DAN OPTIMASI
      • ARSITEKTUR KOMPUTER MODERN
      • EMBEDDED SYSTEM DAN INTERNET OF THINGS (IoT)
      • VIRTUALISASI DAN CLOUD COMPUTING
      • TREN TEKNOLOGI KOMPUTER MASA DEPAN
    • LOGIKA INFORMATIKA
      • RENCANA PEMBELAJARAN (RPS) Logika Informatika
      • PENGANTAR LOGIKA INFORMATIKA
      • PERNYATAAN (PROPOSISI)
      • OPERATOR LOGIKA DASAR
      • TABEL KEBENARAN (TRUTH TABLE)
      • LOGIKA MATEMATIKA LANJUTAN
      • EKIVALENSI LOGIKA
      • TAUTOLOGI, KONTRADIKSI, DAN KONTINGENSI
      • LOGIKA PREDIKAT
      • KUANTOR DALAM LOGIKA INFORMATIKA
      • INFERENSI LOGIKA
      • PEMBUKTIAN LOGIKA
  • JASA/MARKET
Watch Video
  • Home
  • 2025
  • January
  • 3
  • Pengantar Mata Kuliah Testing dan Implementasi Sistem
  • Artikel
  • Materi Kuliah

Pengantar Mata Kuliah Testing dan Implementasi Sistem

agoen January 3, 2025 11 minutes read
testing-dan-implementasi-sistem


Mata kuliah ini memberikan pemahaman tentang konsep, teknik, dan metodologi yang digunakan dalam pengujian (testing) dan implementasi sistem perangkat lunak. Fokus pembelajaran mencakup berbagai jenis pengujian, serta penerapan metodologi implementasi sistem yang efisien dan efektif untuk memastikan kualitas perangkat lunak yang optimal.


Capaian Pembelajaran (CP)

Setelah mengikuti mata kuliah ini, mahasiswa diharapkan mampu:

  1. Memahami berbagai konsep dasar dalam pengujian perangkat lunak.
  2. Mengaplikasikan teknik-teknik pengujian untuk mengevaluasi kualitas perangkat lunak.
  3. Melakukan pengujian perangkat lunak dengan menggunakan berbagai tools yang relevan.
  4. Merencanakan dan melaksanakan implementasi sistem perangkat lunak dalam lingkungan produksi.
  5. Menganalisis hasil pengujian dan melakukan perbaikan terhadap perangkat lunak yang diuji.
  6. Menilai kesiapan implementasi perangkat lunak dengan standar kualitas dan protokol yang tepat.

Materi Pembelajaran dan Pembagian Mingguan

MingguTopik MateriSubtopik / DeskripsiMetode PembelajaranPenilaian
1Pendahuluan dan Pengenalan TestingDefinisi, tujuan, dan jenis-jenis pengujian perangkat lunakCeramah, Diskusi Kelas–
2Fase Pengujian dalam Siklus Hidup Perangkat LunakModel pengembangan perangkat lunak, siklus hidup perangkat lunak dan hubungannya dengan testingCeramah, Studi Kasus–
3Pengujian UnitPengujian unit: konsep, teknik, dan tools yang digunakanPraktikum, DemoTugas
4Pengujian IntegrasiPengujian integrasi: pendekatan dan teknik pengujian integrasi sistemPraktikum, Diskusi KelasTugas
5Pengujian Sistem dan FungsionalitasPengujian sistem, pengujian fungsionalitas, teknik black-box dan white-boxCeramah, Diskusi, PraktikumTugas
6Pengujian Non-FungsionalPengujian performa, keamanan, dan reliabilitas sistemCeramah, PraktikumTugas
7Automasi PengujianPengujian otomatisasi: tools dan teknik dalam automasi pengujianCeramah, Demo, PraktikumTugas
8Pengujian UAT (User Acceptance Testing)Konsep dan penerapan pengujian UAT, pentingnya feedback pengguna dalam implementasiCeramah, Studi KasusUjian Tengah Semester (UTS)
9Penyusunan Laporan PengujianStruktur laporan pengujian, analisis hasil, dan rekomendasi perbaikan perangkat lunakDiskusi, PraktikumTugas
10Persiapan Implementasi SistemProses perencanaan implementasi, pengujian readiness, dan deployment perangkat lunak ke produksiCeramah, DiskusiTugas
11Deployment dan Instalasi SistemTeknik implementasi dan deployment sistem ke lingkungan produksi, penggunaan DevOpsCeramah, PraktikumTugas
12Monitoring dan Pemeliharaan Pasca ImplementasiPemantauan sistem setelah implementasi, manajemen pembaruan dan pemeliharaan sistemCeramah, Diskusi KelasTugas
13Evaluasi dan Pengendalian Kualitas Pasca ImplementasiPengendalian kualitas pasca implementasi, analisis kesalahan dan perbaikan jangka panjangCeramah, DiskusiTugas
14Studi Kasus Implementasi SistemAnalisis studi kasus implementasi sistem di industriDiskusi, Presentasi KelompokUjian Akhir Semester (UAS)
15Ujian Akhir Semester dan ReviewEvaluasi keseluruhan materi mata kuliah, diskusi tentang pengalaman dan tantangan implementasiDiskusi, UASUAS

Penilaian

Komponen PenilaianPersentase (%)
Tugas Mingguan (Praktikum & Studi Kasus)30%
Ujian Tengah Semester (UTS)20%
Ujian Akhir Semester (UAS)30%
Partisipasi dan Diskusi Kelas10%
Laporan Praktikum dan Implementasi10%

Referensi Utama

  1. Pressman, R. S. (2014). Software Engineering: A Practitioner’s Approach (9th ed.). McGraw-Hill.
  2. Kaner, C., Bach, J., & Pettichord, B. (2001). Testing Computer Software. Wiley.
  3. Graham, D. (2016). Software Test Automation: Effective Use of Test Execution Tools. Addison-Wesley.

Metode Pembelajaran

  • Ceramah dan Diskusi
  • Praktikum dan Demonstrasi
  • Studi Kasus dan Analisis
  • Tugas Mandiri dan Kelompok

Prasyarat

  • Pemahaman dasar tentang pemrograman perangkat lunak dan rekayasa perangkat lunak.
  • Pengalaman praktis dalam mengembangkan perangkat lunak (baik menggunakan bahasa pemrograman tertentu maupun metodologi pengembangan perangkat lunak).

Dalam Testing & Implementasi Sistem biasanya ada 2 macam Pengujian, yaitu Pengujian black box dan white box.


Pengujian black box dan white box adalah dua jenis pengujian perangkat lunak yang umum digunakan dalam siklus pengembangan perangkat lunak. Keduanya memiliki pendekatan yang berbeda dalam menguji sistem dan berfokus pada aspek yang berbeda dalam pengujian. Berikut penjelasan secara rinci dan detail tentang keduanya:


1. Pengujian Black Box

Pengertian:
Pengujian black box adalah metode pengujian perangkat lunak di mana penguji tidak mengetahui atau tidak memiliki akses terhadap struktur internal sistem atau kode sumbernya. Pengujian ini berfokus pada fungsi-fungsi dari aplikasi atau perangkat lunak yang diuji dan bagaimana sistem merespon input yang diberikan berdasarkan spesifikasi yang telah ditentukan.

Dalam pengujian black box, penguji hanya berfokus pada input dan output dari perangkat lunak tanpa memikirkan bagaimana perangkat lunak tersebut menghasilkan output dari input yang diberikan.

Tujuan:
Tujuan utama dari pengujian black box adalah untuk memastikan bahwa perangkat lunak berfungsi sesuai dengan yang diinginkan dan sesuai dengan kebutuhan fungsional yang telah ditentukan dalam spesifikasi sistem.

Karakteristik Pengujian Black Box:

  • Fokus pada Fungsi: Penguji menguji fungsionalitas sistem berdasarkan kebutuhan dan spesifikasi tanpa melihat struktur internal.
  • Tidak Memerlukan Pengetahuan Kode: Penguji tidak perlu mengetahui bagaimana perangkat lunak dikodekan atau diimplementasikan.
  • Pengujian Berdasarkan Spesifikasi: Pengujian dilakukan berdasarkan dokumen spesifikasi atau requirement.
  • Pendekatan Berbasis Output: Pengujian dilakukan dengan memberikan input tertentu dan memeriksa output yang dihasilkan.

Jenis-Jenis Pengujian Black Box:

  • Pengujian Fungsional (Functional Testing): Menguji apakah fitur sistem berjalan sesuai dengan spesifikasi.
  • Pengujian Keamanan (Security Testing): Menguji apakah sistem aman dari ancaman eksternal.
  • Pengujian Kinerja (Performance Testing): Menguji kinerja sistem dalam kondisi beban tinggi atau penggunaan sumber daya.
  • Pengujian Kompatibilitas (Compatibility Testing): Menguji apakah sistem dapat berjalan di berbagai platform dan perangkat keras.
  • Pengujian Usability (Usability Testing): Menguji sejauh mana antarmuka dan pengalaman pengguna sesuai dengan kebutuhan pengguna.

Metode Pengujian Black Box:

  1. Equivalence Partitioning: Pembagian input menjadi beberapa kategori yang diharapkan menghasilkan output yang serupa. Pengujian hanya dilakukan pada beberapa nilai yang mewakili kategori tersebut.
  2. Boundary Value Analysis (BVA): Pengujian dilakukan pada nilai-nilai batas atau ekstrem dari input. Pendekatan ini sering digunakan untuk menemukan cacat yang muncul pada nilai-nilai batas.
  3. Decision Table Testing: Menggunakan tabel keputusan untuk memverifikasi berbagai kombinasi input dan output yang mungkin.
  4. State Transition Testing: Menguji transisi antar status dalam sistem berdasarkan berbagai input yang diberikan dan keadaan sistem yang berbeda.
  5. Use Case Testing: Berdasarkan skenario penggunaan atau kasus penggunaan sistem, pengujian dilakukan untuk memastikan bahwa alur fungsional aplikasi sesuai dengan kebutuhan pengguna.

2. Pengujian White Box

Pengertian:
Pengujian white box (juga dikenal sebagai pengujian clear box atau structural testing) adalah metode pengujian perangkat lunak yang melibatkan pengujian sistem dengan pengetahuan penuh tentang struktur internal, kode sumber, dan implementasi perangkat lunak. Penguji pada dasarnya memeriksa aliran logika, kontrol, dan struktur data dalam perangkat lunak.

Pengujian white box berfokus pada cara kerja aplikasi, bukan hanya apakah aplikasi berfungsi dengan benar, tetapi juga bagaimana sistem tersebut mengelola dan memproses data dari dalam. Oleh karena itu, pengujian white box membutuhkan pemahaman tentang kode sumber dan algoritma yang digunakan.

Tujuan:
Tujuan dari pengujian white box adalah untuk memastikan bahwa kode program berfungsi sesuai dengan yang diinginkan, bahwa tidak ada bagian kode yang tidak dijangkau (dead code), dan bahwa setiap jalur dalam aplikasi telah diuji secara menyeluruh.

Karakteristik Pengujian White Box:

  • Fokus pada Struktur Internal: Penguji menguji kode sumber dan struktur logika perangkat lunak.
  • Pengetahuan Kode Diperlukan: Penguji harus memiliki akses ke kode sumber dan pemahaman yang baik tentang struktur program.
  • Menggunakan Teknik Pemrograman: Pengujian dilakukan dengan menggunakan teknik yang menguji aliran data, kontrol, dan logika program.
  • Mengidentifikasi Bug di Dalam Kode: Pengujian white box membantu menemukan bug, kesalahan logika, dan potensi kerentanannya dalam kode.

Jenis-Jenis Pengujian White Box:

  • Unit Testing: Pengujian bagian terkecil dari sistem (unit), seperti fungsi atau metode tertentu untuk memastikan bahwa unit tersebut berfungsi dengan benar.
  • Integration Testing: Menguji interaksi antar unit atau modul dalam sistem.
  • Code Coverage Testing: Mengukur sejauh mana kode program diuji dengan menggunakan metrik seperti statement coverage, branch coverage, dan path coverage.
  • Path Testing: Memeriksa jalur eksekusi yang mungkin terjadi dalam program dan memastikan semua jalur diuji.
  • Loop Testing: Menguji pengulangan atau loop dalam kode untuk memastikan tidak ada kesalahan dalam implementasi loop.

Metode Pengujian White Box:

  1. Statement Coverage: Memastikan setiap pernyataan dalam kode sumber dieksekusi minimal sekali.
  2. Branch Coverage: Memastikan bahwa setiap keputusan dalam kode (misalnya, pernyataan if-else) diuji dengan semua kemungkinan kondisi benar atau salah.
  3. Path Coverage: Menguji seluruh jalur atau urutan eksekusi yang mungkin terjadi dalam kode untuk memastikan bahwa seluruh jalur diuji.
  4. Condition Coverage: Memastikan setiap kondisi dalam ekspresi logika dievaluasi untuk nilai benar dan salah.

Perbandingan Pengujian Black Box dan White Box

AspekBlack Box TestingWhite Box Testing
FokusFungsi dan output perangkat lunakStruktur internal dan kode perangkat lunak
Pengetahuan KodeTidak diperlukanDiperlukan (harus mengetahui kode sumber)
PendekatanPengujian berdasarkan spesifikasi dan requirementPengujian berdasarkan pemahaman kode dan logika
Jenis PengujianFungsional, performa, kompatibilitas, keamananUnit testing, path testing, branch testing
TujuanMemastikan perangkat lunak berfungsi sesuai dengan kebutuhanMemastikan kode berjalan sesuai yang diinginkan dan menemukan kesalahan dalam kode
Contoh MetodeEquivalence Partitioning, BVA, State TransitionStatement Coverage, Path Coverage, Branch Coverage
Kelebihan– Tidak memerlukan pengetahuan teknis– Dapat menemukan kesalahan di dalam logika kode
– Berguna untuk pengujian fungsional– Dapat mengoptimalkan kinerja dan efisiensi kode
Kekurangan– Tidak dapat mendeteksi kesalahan logika di dalam kode– Membutuhkan pemahaman mendalam tentang kode

Kesimpulan

Pengujian black box dan white box memiliki pendekatan yang sangat berbeda. Pengujian black box berfokus pada menguji fungsi sistem tanpa mempertimbangkan implementasi internal, sedangkan pengujian white box memeriksa kode sumber dan struktur internal sistem untuk memastikan bahwa semua bagian kode berjalan sesuai dengan yang diinginkan. Kedua jenis pengujian ini saling melengkapi dan sering digunakan bersamaan untuk memastikan kualitas perangkat lunak yang optimal.

Contoh Software Testing/Pengujian Sistem

Berikut adalah beberapa contoh perangkat lunak (software) yang dapat digunakan untuk testing dan implementasi sistem dalam pengembangan perangkat lunak:

1. Software untuk Pengujian (Testing)

a. Selenium

  • Jenis: Automasi Pengujian Web
  • Fungsi: Selenium adalah alat pengujian automasi yang banyak digunakan untuk menguji aplikasi web. Ini mendukung berbagai browser seperti Chrome, Firefox, Safari, dan Edge, serta memungkinkan pengujian menggunakan berbagai bahasa pemrograman seperti Java, Python, C#, dan Ruby.
  • Tipe Pengujian: Pengujian fungsional, pengujian regresi, pengujian antarmuka pengguna (UI).
  • Kelebihan:
    • Mendukung pengujian cross-browser.
    • Gratis dan open-source.
    • Dapat digunakan untuk pengujian otomatis berbasis skrip.
  • Website: Selenium

b. JUnit

  • Jenis: Pengujian Unit
  • Fungsi: JUnit adalah framework pengujian unit untuk aplikasi Java. Framework ini memungkinkan pengembang untuk menulis dan menjalankan tes unit secara otomatis.
  • Tipe Pengujian: Pengujian unit.
  • Kelebihan:
    • Menyediakan struktur yang mudah untuk pengujian unit dalam bahasa Java.
    • Integrasi yang baik dengan alat pembangunan seperti Maven dan Gradle.
    • Mendukung pengujian berbasis anotasi.
  • Website: JUnit

c. Postman

  • Jenis: Pengujian API
  • Fungsi: Postman adalah alat untuk menguji API (Application Programming Interface) yang memungkinkan pengujian dan dokumentasi API secara manual atau otomatis.
  • Tipe Pengujian: Pengujian API, pengujian fungsional dan regresi.
  • Kelebihan:
    • User-friendly, dapat digunakan oleh pengembang dan tester tanpa keahlian pengkodean.
    • Mendukung pengujian API REST dan SOAP.
    • Dapat mengotomatisasi pengujian API dengan koleksi Postman dan integrasi CI/CD.
  • Website: Postman

d. Apache JMeter

  • Jenis: Pengujian Kinerja dan Beban
  • Fungsi: JMeter adalah perangkat lunak sumber terbuka yang digunakan untuk menguji kinerja dan beban aplikasi web. JMeter dapat digunakan untuk menguji aplikasi berbasis web, layanan web, dan database.
  • Tipe Pengujian: Pengujian kinerja (performance testing), pengujian beban (load testing).
  • Kelebihan:
    • Mampu melakukan pengujian beban dan stres pada aplikasi.
    • Dukungan untuk berbagai protokol selain HTTP, seperti FTP, JDBC, dan JMS.
    • Mudah digunakan dengan antarmuka grafis.
  • Website: Apache JMeter

e. TestComplete

  • Jenis: Pengujian Automatisasi GUI
  • Fungsi: TestComplete adalah alat otomatisasi pengujian untuk aplikasi desktop, web, dan mobile. TestComplete memungkinkan pengujian fungsional dengan menggunakan skrip atau tanpa skrip.
  • Tipe Pengujian: Pengujian GUI, pengujian fungsional.
  • Kelebihan:
    • Mendukung pengujian aplikasi di berbagai platform (web, desktop, mobile).
    • Dapat digunakan tanpa menulis kode dengan fitur rekaman dan pemutaran.
    • Integrasi dengan alat CI/CD.
  • Website: TestComplete

2. Software untuk Implementasi Sistem

a. Docker

  • Jenis: Kontainerisasi dan Deployment
  • Fungsi: Docker adalah platform yang digunakan untuk mengotomatisasi penyebaran aplikasi dalam kontainer. Docker memungkinkan aplikasi berjalan secara konsisten di berbagai lingkungan pengembangan, pengujian, dan produksi.
  • Tipe Implementasi: Implementasi dan deployment sistem aplikasi menggunakan kontainer.
  • Kelebihan:
    • Memudahkan pengelolaan dan penyebaran aplikasi di berbagai lingkungan.
    • Mendukung DevOps dan CI/CD pipeline.
    • Isolasi dan portabilitas aplikasi yang lebih baik.
  • Website: Docker

b. Kubernetes

  • Jenis: Orkestrasi Kontainer
  • Fungsi: Kubernetes adalah alat orkestrasi yang digunakan untuk mengelola, mengotomatisasi, dan menskalakan aplikasi kontainer dalam produksi. Kubernetes bekerja dengan Docker untuk mengelola kontainer dalam klaster.
  • Tipe Implementasi: Orkestrasi dan manajemen implementasi aplikasi berbasis kontainer.
  • Kelebihan:
    • Skalabilitas tinggi untuk aplikasi yang membutuhkan pemrosesan beban tinggi.
    • Mendukung manajemen beban dan ketersediaan aplikasi secara otomatis.
    • Mendukung penyebaran aplikasi dengan rollouts dan rollbacks otomatis.
  • Website: Kubernetes

c. Jenkins

  • Jenis: Integrasi dan Penyebaran Kontinu (CI/CD)
  • Fungsi: Jenkins adalah alat open-source yang digunakan untuk otomatisasi pembangunan, pengujian, dan penyebaran perangkat lunak dalam pengembangan perangkat lunak berbasis CI/CD.
  • Tipe Implementasi: Otomatisasi pipeline untuk implementasi sistem.
  • Kelebihan:
    • Mendukung lebih dari 1000 plugin untuk mengintegrasikan berbagai alat.
    • Memungkinkan pengujian dan penyebaran otomatis.
    • Integrasi yang baik dengan Docker, Kubernetes, dan alat DevOps lainnya.
  • Website: Jenkins

d. Ansible

  • Jenis: Automatisasi Konfigurasi dan Penyebaran
  • Fungsi: Ansible adalah alat otomatisasi open-source yang digunakan untuk mengelola konfigurasi dan penyebaran aplikasi di server atau infrastruktur cloud.
  • Tipe Implementasi: Otomatisasi konfigurasi dan penyebaran sistem perangkat lunak.
  • Kelebihan:
    • Sederhana, mudah dipahami dan digunakan.
    • Tidak memerlukan agen di server target.
    • Sangat cocok untuk penyebaran dan manajemen infrastruktur yang lebih besar.
  • Website: Ansible

e. Terraform

  • Jenis: Infrastruktur sebagai Kode (Infrastructure as Code)
  • Fungsi: Terraform adalah alat yang digunakan untuk mengelola infrastruktur sebagai kode. Ini memungkinkan pengelolaan penyebaran aplikasi, serta pengelolaan infrastruktur cloud seperti AWS, Azure, dan Google Cloud.
  • Tipe Implementasi: Penyebaran dan manajemen infrastruktur cloud untuk aplikasi.
  • Kelebihan:
    • Mengotomatisasi penyebaran dan pengelolaan infrastruktur cloud.
    • Memungkinkan pembuatan dan pengelolaan infrastruktur dalam skala besar dengan kode.
    • Mendukung penyebaran multi-cloud.
  • Website: Terraform

3. Perangkat Lunak untuk Testing dan Implementasi Sistem Secara Terpadu

a. GitLab CI/CD

  • Jenis: Integrasi dan Penyebaran Kontinu (CI/CD)
  • Fungsi: GitLab CI/CD adalah platform DevOps yang menawarkan solusi untuk integrasi dan penyebaran perangkat lunak yang terintegrasi langsung dengan repositori GitLab. GitLab CI/CD mendukung pengujian otomatis dan deployment aplikasi dalam pipeline.
  • Tipe Implementasi dan Pengujian: Pengujian otomatis dan deployment perangkat lunak.
  • Kelebihan:
    • Menyediakan CI/CD pipeline terintegrasi dengan version control.
    • Mudah digunakan untuk tim DevOps.
    • Mendukung pengujian, build, dan deployment otomatis.
  • Website: GitLab CI/CD

Kesimpulan

Ada berbagai perangkat lunak yang dapat digunakan untuk testing dan implementasi sistem dalam pengembangan perangkat lunak, baik untuk pengujian fungsional, kinerja, atau pengujian regresi, serta untuk otomatisasi penyebaran dan manajemen infrastruktur. Beberapa alat populer yang disebutkan di atas membantu meningkatkan efisiensi, keandalan, dan kecepatan dalam pengujian dan implementasi sistem perangkat lunak. Pemilihan perangkat lunak yang tepat akan bergantung pada kebutuhan spesifik proyek, tim, dan lingkungan pengembangan.

About the Author

agoen

Administrator

Visit Website View All Posts

Post navigation

Previous: Tip & Triks Pemula/Belajar menjadi Programmer
Next: Pentingnya Mata Kuliah Sistem Informasi pada Program Studi Informatika

Related Stories

image
  • Artikel
  • Berita
  • Materi Kuliah

Terus dan Terus Belajar di Era Digital: Kunci Bertahan dan Berkembang di Tengah Perubahan

agoen April 15, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

🎓 MASA DEPAN PEMBELAJARAN

agoen April 1, 2026
image
  • Artikel
  • Berita

Kecerdasan Buatan (AI) Membuat Manusia “Tidak” Berharga

agoen April 1, 2026

Recent Posts

  • Terus dan Terus Belajar di Era Digital: Kunci Bertahan dan Berkembang di Tengah Perubahan
  • 🎓 MASA DEPAN PEMBELAJARAN
  • Kecerdasan Buatan (AI) Membuat Manusia “Tidak” Berharga
  • Analisis Usability Website YBM PLN SMI Menggunakan Metode SUS
  • 📝 Strategi dan Syarat Naik Jabatan Lektor Tahun 2026: Analisis Regulasi Terbaru

Archives

  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • June 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019

Categories

  • Artikel
  • Berita
  • Materi Kuliah

You may have missed

image
  • Artikel
  • Berita
  • Materi Kuliah

Terus dan Terus Belajar di Era Digital: Kunci Bertahan dan Berkembang di Tengah Perubahan

agoen April 15, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

🎓 MASA DEPAN PEMBELAJARAN

agoen April 1, 2026
image
  • Artikel
  • Berita

Kecerdasan Buatan (AI) Membuat Manusia “Tidak” Berharga

agoen April 1, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

Analisis Usability Website YBM PLN SMI Menggunakan Metode SUS

agoen March 28, 2026
Copyright © All rights reserved. | MoreNews by AF themes.