bab 3 metode dan perancangan sistem...guru_matpel sistem gambar 3.7 activity diagram guru_matpel...

34
13 Bab 3 Metode dan Perancangan Sistem Pada bab ini membahas menganai metode perancangan beserta pemodelannya, baik berupa usecase, activity diagram, sequence diagram, dan rancangan basis data yang akan digunakan dalam pembuatan aplikasi Penilaian Hasil Studi Siswa Sekolah Dasar Berbasis Web. 3.1 Metode Perancangan Sistem Metode yang digunakan untuk pengembangan sistem yang dibuat ialah dengan menggunakan motode Waterfall. Metode ini merupakan metode yang pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan metode yang plaing banyak digunakan dalam Software Engineering (SE). Metode ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju tahap analisis, desain, coding, testing dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang harus dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Keuntungan dari metode waterfall yaitu setiap tahapan akan dievaluasi secara teliti untuk mendapatkan hasil yang maksimal. Secara umum tahapan pada model waterfall dapat dilihat pada Gambar 3.1

Upload: others

Post on 28-Jan-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

  • 13

    Bab 3

    Metode dan Perancangan Sistem

    Pada bab ini membahas menganai metode perancangan

    beserta pemodelannya, baik berupa usecase, activity diagram,

    sequence diagram, dan rancangan basis data yang akan digunakan

    dalam pembuatan aplikasi Penilaian Hasil Studi Siswa Sekolah Dasar

    Berbasis Web.

    3.1 Metode Perancangan Sistem

    Metode yang digunakan untuk pengembangan sistem yang

    dibuat ialah dengan menggunakan motode Waterfall. Metode ini

    merupakan metode yang pertama kali yaitu sekitar tahun 1970

    sehingga sering dianggap kuno, tetapi merupakan metode yang plaing

    banyak digunakan dalam Software Engineering (SE). Metode ini

    melakukan pendekatan secara sistematis dan urut mulai dari level

    kebutuhan sistem lalu menuju tahap analisis, desain, coding, testing

    dan maintenance. Disebut dengan waterfall karena tahap demi tahap

    yang harus dilalui harus menunggu selesainya tahap sebelumnya dan

    berjalan berurutan. Keuntungan dari metode waterfall yaitu setiap

    tahapan akan dievaluasi secara teliti untuk mendapatkan hasil yang

    maksimal. Secara umum tahapan pada model waterfall dapat dilihat

    pada Gambar 3.1

  • 14

    Gambar 3.1 Metode Waterfall (Pressman, 2001)

    Berikut ini langkah-langkah perencanaan aplikasi menggunakan

    metode Waterfall :

    1. Analisi kebutuhan dan pendefinisiannya

    Analisa kebutuhan dimulai dengan melakukan penelitian

    di berbagai Sekolah Dasar pada Yayasan Pangudi Luhur

    Semarang. Langkah analisis kebutuhan ini harus dikerjakan

    secara lengkap sesuai dengan kebutuhan yang diperlukan.

    Dalam penelitian ini analisis kebutuhan dilakukan dengan

    metode penelitian lapangan yaitu dengan :

    - Metode wawancara kepada pihak yang bersangkutan

    Analisis kebutuhan ini dilakukan dengan wawancara

    terhadap Bapak Br. Markus Sujarwo selaku Kepala Sekolah

    Dasar Santo Yusup yang bertujuan untuk mengetahui

    kelemahan dari sistem yang telah berjalan serta harapan untuk

    Sistem Informasi Akademik Penilaian hasil studi siswa

  • 15

    Yayasan. Pertanyaan dan jawaban dari wawancara yang

    dilakukan terlihat dalam Lampiran 2.

    Setelah melakukan proses wawancara, maka didapatkan

    kesimpulan bahwa sistem yang selama ini diterapkan oleh

    beberapa Sekolah Dasar pada Yayasan Pangudi Luhur masih

    manual, sehingga beberapa Sekolah ini membutuhkan suatu

    aplikasi yang dapat membantu pengolahan data lebih cepat.

    - Metode Kepustakaan dan Dokumentasi

    Metode kepustakaan mendefinisikan begaimana

    pengumpulan data dilakukan dengan mencari, membaca

    kemudian mempelajari buku-buku pustaka dan sumber-

    sumber referensi lain yang relevan dengan penelitian yaitu

    mengenai sistem informasi akademik. Sedangkan

    dokumentasi disini yang dimaksudkan adalah pengumpulan

    data-data di beberapa Sekolah yang dibutuhkan dalam

    pembuatan Sistem Informasi Akademik Penilaian hasil studi

    siswa. Data-data yang dikumpulkan berupa daftar nilai siswa

    serta daftar pribadi karyawan dan siswa yang dibutuhkan

    dalam pembuatan Sistem Informasi Akademik ini.

    2. Desain Sistem dan Perangkat Lunak

    Setelah semua kebutuhan telah dianalisis, langkah

    selanjutnya adalaha mendesain sistem dan perangkat lunak

    yaitu melakukan perancangan sistem yang akan dibangun.

    Perancangan sistem dibuat dengan menggunakan diagram-

    diagram UML yaitu dengan membuat use-case diagram,

    activity diagram, sequence diagram, dan class diagram serta

    perancangan database dan tampilan antarmuka bagi

    pengguna.

  • 16

    3. Implementasi dan Unit Pengujian

    Tahap ketiga adalah menerjemahkan desain sistem ke

    dalam aplikasi. Bentuk implementasi dari sistem bisa berupa

    penulisan program dengan menggunakan bahasa

    pemrograman php dan pembuatan basis data dengan SQL

    serta dokumentasi. Setelah aplikasi selesai dibuat maka perlu

    dilakukan pengujian beberapa unit yang terdapat dalam

    sistem. Jika terdapat kekurangan, maka sistem akan terus

    diperbaiki sampai masalah terpecahkan.

    4. Integrasi dan Uji Coba Sistem

    Tahap ke empat adalah menyatukan program dan

    melakukan pengujian sistem, apakah benar-benar memberikan

    manfaat dalam segi efisiensi dan efektifitas serta

    memudahkan pengguna dalam pemakaiannya. Selain itu

    untuk meyakinkian apakah semua persyaratan perancangan

    perangkat lunak telah terpenuhi atau tidak serta untuk

    mengetahui kelayakan sistem.

    5. Operasi dan Pemeliharaan

    Langkah terakir dari metode Waterfall adalah

    pengoperasian dan pemeliharaan. Setelah dilakukan uji coba

    maka sistem perlu dipelihara dengan tujuan memantau

    kegunaan dari sistem dan proses audit secara periode sesuai

    dengan user yang semakin berkembang.

    3.2 Deskripsi Sistem Manual Pangudi Luhur

    Sistem Informasi Akademik Sekolah di beberapa Sekolah

    Dasar Yayasan Pangudi Luhur Semarang adalah sebuah aplikasi

    berbasis web yang dapat membantu petugas sekolah atau para guru

  • 17

    End

    start

    Memberikan

    form input data

    Menerima dan memasukkan

    data lewat Microsoft Excel

    Data disimpan

    Mengisi kelengkapan

    form data

    guru_matpelWali_kelas

    dalam memanajemen data-data berupa hasil studi siswa. Aplikasi ini

    menggunakan database dalam penyimpanan datanya sehingga data-

    data mengenai hasil studi siswa dapat diolah dengan baik.

    3.2.1 Analisis Input

    Analisis input adalah penentuan masukan yang diperlukan

    oleh sistem yang dibuat. Dalam sistem ini diperlukan beberapa data

    yang harus dicantumkan dalam aplikasi. Beberapa masukan antara

    lain data sekolah, data guru atau staff pengajar, data siswa beserta

    hasil studi, data kegiatan, dan data-data lainnya. Data tersebut akan

    dimasukkan dalam database agar bisa teroganisir dengan baik.

    3.2.2 Analisis Alur Kerja Sistem Manual

    Analisis alur kerja ini diperoleh dari hasil wawancara di

    sekolah-sekolah yang dimaksudkan. Alur kerja sistem harus dipahami

    dengan baik karena akan sangat dibutuhkan dalam pembuatan sistem.

    Selain itu juga dapat membantu untuk pengembangan sistem

    penilaian hasil studi siswa pada Yayasan Pangudi Luhur Semarang.

    Gambar 3.2 Alur Kerja Sistem Manual

  • 18

    Sistem yang selama ini diterapkan di Yayasan ini adalah

    dengan menggunakan sistem manual. Dalam mencatat data-data yang

    ada dalam beberapa Sekolah di Yayasan menggunakan Microsoft

    Excel dan mencatat dalam buku untuk dokumentasi. Beberapa

    kelemahan dalam menggunakan sistem manual ini adalah :

    1. Kesulitan pencatatan dalam memasukkan data-data yang berkaitan

    dengan sekolah, dikarenakan data yang diperoleh sangat banyak

    dan tidak terkumpul dalam suatu tempat.

    2. Dokumen-dokumen atau arsip-arsip dan buku-buku yang

    digunakan dalam proses manajemen sekolah terlalu boros dan

    memungkinkan terjadi kehilangan serta kerusakan data-data.

    3.2.3 Analisis Output

    Berdasarkan alur kerja sistem yang dibuat output yang

    dihasilkan berupa informasi mengenai data-data yang dibutuhkan.

    Output berupa data pribadi baik itu mengenai siswa maupun

    karyawan. Data tersebut dapat diperoleh secara lebih detail dan

    hasilnya dapat dicetak sehingga output terakir juga bisa berupa

    hardcopy.

    3.3 Perancangan Sistem

    Tujuan diadakan tahapan perancangan sistem adalah untuk

    mengevaluasi kinerja sistem yang telah ada untuk kemudian

    merumuskan tujuan yang ingin dicapai dari perancangan sistem yang

    baru.

    3.3.1 Sistem Jaringan dan Skema Sistem

    Sistem jaringan yang digunakan pada aplikasi ini menggunakan

    topologi intranet. Intranet merupakan sebuah jaringan yang dibangun

  • 19

    berdasarkan teknologi internet yang didalam nya terdapat basis

    arsitektur berupa aplikasi web dan teknoogi komunikas data. Intranet

    juga menggunakan protokol TCP/IP. Protokol ini memungkikan

    suatu komputer mengirim dan memberi alamat data ke komputer lain

    sekaligus memastikan pengiriman data sampai tujuan.

    Gambar 3.3 Topologi Jaringan Aplikasi yang akan dibuat

    Gambar 3.3 merupakan penjabaran topologi jaringan yang

    digunakan. Sedangkan Gambar 3.4 merupakan rancangan skema

    mekanisme kerja sistem informasi akademik penilaian Yayasan

    Pangudi Luhur Semarang. Pada Gambar 3.3 dan Gambar 3.4

    dijelaskan bahwa ada dua sekolah, yaitu Sekolah Dasar Santo Yusup

    dan Sekolah Dasar Don Bosco yang diambil dari beberapa sekolah

    yang ada pada Yayasan Pangudi Luhur Semarang.

    Gambar 3.4 Skema Mekanisme Kerja Sistem (portal)

  • 20

    3.3.2 Analisis Kebutuhan Sistem

    Dalam membuat suatu aplikasi, sebelumnya harus melakukan

    analisis tentang sistem yang dibutuhkan agar aplikasi yang dibuat

    bisa lebih efektif dan efisien sesuai dengan keinginan pihak sekolah.

    Kebutuhan perangkat keras dan lunak harus diperhatikan dengan

    baik. Berikut ini kebutuhan perangkat keras dan lunak yang

    dibutuhkan dalam pembuatan aplikasi tersebut :

    1. Kebutuhan Pengguna Sistem

    Dalam tahap ini akan dilakukan analisis terhadap kebutuhan

    pengguna sistem berdasarkan proses bisnis yang ada, antara lain:

    User dan admin

    - Sistem mengharuskan user untuk melakukan login dengan

    cara memasukkan username dan password.

    - Admin memiliki hak akses penuh atas penambahan,

    pengubahan, menghapus seluruh data yang ada dalam sistem.

    - Admin di sistem ini adalah Kepala Sekolah.

    2. Kebutuhan Perangkat Lunak

    Perangkat lunak yang digunakan dalam pembuatan aplikasi:

    - Sistem Operasi Windows 7

    - MySQL

    - Netbeans 6.9

    - Rational Rose Enterprise Edition

    - Xampp

    - CodeIgniter 1.7.2

    - Aplikasi browser ( internet exploler, mozilla firefox)

    3. Kebutuhan Perangkat Keras

    Spesifikasi Perangkat keras yang digunakan dalam perancangan

    aplikasi adalah:

  • 21

    - Komputer Server

    - Komputer Client

    - Prosesor Intel Core i3

    - RAM 1 GB

    - Hard Disk 250 GB

    - Switch

    3.4 Desain sistem dengan Unified Modeling Language

    Perancangan Sistem Informasi Akademik Hasil Studi Siswa

    pada beberapa Sekolah Dasar Yayasan Pangudi Luhur Semarang ini

    dirancang menggunakan UML sebagai pemodelan sistem. UML

    menyediakan beberapa diagram dalam proses perancangan sistem.

    Dalam sistem yang akan dibuat akan digunakan beberapa diagram,

    yaitu: use case diagram, activity diagram, sequence diagram, dan

    class diagram.

    1. Use case diagram

    Dalam tahap ini sistem akan digambarkan melalui use-case

    diagram yang mampu mereprentasikan hasil analisis yang telah

    dilakukan sebelumnya ke dalam bentuk diagram, sehingga mudah

    untuk mendefinisikan sistem baik secara utuh maupun per bagian.

    Use-case diagram dari sistem yang dikembangkan seperti terlihat

    dari Gambar 3.5.

    Dijelaskan bahwa dari sistem yang akan dibuat terdapat

    seorang administrator, Guru matpel, Wali Kelas, dan Siswa atau

    Wali Siswa.

  • 22

    Add/edit/del nilaiAdd/edit/del absensi siswa

    Penilaian

    Guru_matpel

    Manage absensi siswa

    Wali_kelas

    View password

    Edit password

    Menambah user

    Add/edit/del profil karyawan

    Add/edit/del profil siswa

    View absensi siswa

    View rapot siswaSiswa /

    Wali_Siswa

    Add/edit/del daftar siswa per kelas

    Add/edit/del daftar walikelas

    Manage profil karyawan

    Manage profil siswa

    Daftar siswa per kelas

    Daftar Walikelas

    Manage password

    Manage user

    Manage kelas

    View nilai

    Add/edit/del rapor siswa

    Admin Manage Profil

    Manage rapor siswa

    Gambar 3.5 Use Case Diagram Sistem

    Di mana admin memiliki hak akses secara penuh. Diantaranya

    adalah manage user, manage password, manage profil siswa dan

    karyawan, manage kelas, manage rapor siswa, dan view nilai.

    Guru matpel di sini memiliki hak akses untuk manage

    (add/edit/delete) nilai siswa sesuai mata pelajaran yang diampu dan

    juga view nilai.

    Wali kelas yang memiliki hak akses untuk manage

    (add/edit/delete) hasil studi akhir siswa per periode sesuai kelas yang

    diampu, seorang Wali kelas hanya akan mengampu satu kelas saja.

    User yang terakhir adalah Siswa atau Wali Siswa yang

    memiliki hak akses hanya untuk view hasil studi siswa.

  • 23

    Manage user

    End

    start Login

    tidak

    Manage

    password

    Manage Profil

    Manage kelas

    View nilai

    Manage rapot

    siswa

    Logout

    ya

    SistemAdmin

    2. Activity diagram

    Activity diagram menggambarkan aliran aktivitas dalam

    sistem yang sedang dirancang, bagaimana masing-masing alir

    berawal, decision yang mungkin terjadi, dan bagaimana mereka

    berakhir. Berikut dibawah merupakan beberapa gambar activity

    diagram dari beberapa user yang ada pada sistem ini.

    Gambar 3.6 Activity Diagram Admin

    Gambar 3.6 menggambarkan aktifitas-aktifitas yang bisa

    dilakukan oleh admin. Aktifitas-aktifitas tersebut diantaranya adalah

    manage user, manage password, manage profil, manage kelas, view

    nilai, manage rapot siswa, logout. Akan tetapi sebelum mengakses

    menu-menu tersebut harus melakukan login terlebih dahulu.

  • 24

    Start

    End

    Login

    tidak

    Input Nilai

    View nilai

    Logout

    ya

    SistemGuru_matpel

    Gambar 3.7 Activity Diagram Guru_matpel

    Gambar 3.7 menggambarkan aktifitas-aktifitas yang bisa

    dilakukan oleh guru matpel. Aktifitas-aktifitas tersebut diantaranya

    adalah input nilai siswa, view nilai siswa, logout. Seperti admin

    sebelum mengakses menu-menu tersebut harus melakukan login

    terlebih dahulu.

    Gambar 3.8 berikut menggambarkan aktifitas-aktifitas yang

    bisa dilakukan oleh wali kelas. Aktifitas-aktifitas tersebut diantaranya

    adalah view nilai siswa per matpel, manage rapor siswa, manage

    absensi siswa, logout. Seperti user lainnya sebelum mengakses

    menu-menu tersebut harus melakukan login terlebih dahulu.

  • 25

    Start

    End

    Login

    tidak

    View nilai per

    matpel

    Manage rapor

    siswa

    Manage

    absensi siswa

    Logout

    ya

    SistemWali_kelas

    Gambar 3.8 Activity Diagram Wali_kelas

    Gambar 3.9 menggambarkan aktifitas yang bisa dilakukan

    oleh siswa atau wali siswa yaitu login, view nilai siswa, dan logout.

    start

    end

    Login

    tidak

    View nilai

    Logout

    ya

    SistemSiswa

    Gambar 3.9 Activity Diagram Siswa / Wali_siswa

  • 26

    3. Sequence Diagram

    Sequence diagram menggambarkan interaksi antar obyek di

    dalam dan di sekitar sistem (termasuk pengguna, display, dan

    sebagainya) berupa message yang digambarkan terhadap waktu.

    Sequence diagram terdiri antar dimensi vertikal (waktu) dan dimensi

    horizontal (objek-objek yang terkait).

    Gambar 3.9 merupakan sequence diagram untuk aktivitas

    input nilai .

    : guru_matpel : Nilai_harian :

    Nilai_hari...

    :

    db_pangudi...

    input_nilai_harian( )

    getNilaiHarianbyId( )

    save( )

    konfirmasi()

    tampil( )

    lihat_nilai( )

    getNilaiHarianbyId( )

    request()

    return()

    tampil( )

    Gambar 3.10 Sequence Diagram guru matpel menginput nilai harian

  • 27

    Pada Gambar 3.10 terlihat proses dari seorang guru matpel

    untuk menambah atau input nilai harian dan melihat nilai harian.

    Untuk menambahkan nilai harian proses yang terjadi adalah ketika

    data nilai telah di-input-kan maka class nilai harian pada controller

    akan dikirim ke class nilai harian model agar data disimpan dalam

    basis data pangudiluhur. Ketika data telah disimpan maka controller

    akan mengirim konfirmasi kepada guru matpel bahwa nilai harian

    telah tersimpan. Nilai harian yang dimasukkan guru matpel langsung

    ditampilkan untuk mempersingkat waktu dalam proses pemasukan

    data hasil studi siswa.

    : guru_matpel : Nilai_mid :

    Nilai_mid...

    :

    db_pangudi...

    input_nilai( )

    getNilaiMidbyId( )

    save( )

    konfirmasi()

    tampil( )

    lihat_nilai( )

    getNilaiMidbyId( )

    request()

    return()

    tampil( )

    Gambar 3.11 Sequence Diagram guru matpel menginput nilai mid

  • 28

    Pada Gambar 3.11 terlihat proses dari seorang guru matpel

    untuk menambah atau input nilai mid dan melihat nilai harian. Untuk

    menambahkan nilai mid proses yang terjadi sama dengan proses

    menambahkan nilai harian seperti yang sudah dijelaskan pada gambar

    sebelumnya. Ketika data nilai telah di-input-kan maka class nilai mid

    pada controller akan dikirim ke class nilai mid model agar data

    disimpan dalam basis data pangudiluhur. Ketika data telah disimpan

    maka controller akan mengirim konfirmasi kepada guru matpel

    bahwa nilai mid telah tersimpan. Untuk semua proses memasukkan

    data nilai, data yang telah berhasil dimasukkan akan langsung terlihat

    oleh user

    : wali_kelas :

    Nilai_semester

    :

    Nilai_seme...

    :

    db_pangudi...

    input_nilai( )

    getNilaiSembyId( )

    save( )

    konfirmasi()

    tampil( )

    lihat_nilai()

    getNilaiSembyId( )

    request()

    return()

    tampil( )

    Gambar 3.12 Sequence Diagram wali kelas menginput nilai semester

  • 29

    Pada Gambar 3.12 terlihat proses dari seorang wali kelas

    untuk menambah atau input semester dan melihat nilai semester.

    Untuk menambahkan nilai semester proses yang terjadi sama dengan

    proses menambahkan nilai harian dan nilai mid sebelumnya. Ketika

    data nilai telah di-input-kan maka class nilai semester pada controller

    akan dikirim ke class nilai semester model agar data disimpan dalam

    basis data pangudiluhur. Ketika data telah disimpan maka controller

    akan mengirim konfirmasi kepada wali kelas bahwa nilai semester

    telah tersimpan, begitu juga dengan wali kelas, dapat langsung

    melihat nilai yang baru saja dimasukkan.

    : guru_matpel : Nilai_harian :

    Nilai_hari...

    :

    db_pangudi...

    update_nilai( )

    updateNilaiHarian( )

    save( )

    konfirmasi( )

    tampil( )

    lihat_nilai()

    getNilaiHarianbyId( )

    request()

    return()

    tampil( )

    Gambar 3.13 Sequence Diagram guru matpel mengupdate nilai harian

  • 30

    Pada Gambar 3.13 terlihat proses dari seorang guru matpel

    untuk update dan melihat nilai harian. Untuk meng-update nilai

    harian proses yang terjadi adalah ketika data nilai telah di-update-kan

    maka class nilai harian pada controller akan dikirim ke class nilai

    harian model agar data disimpan dalam basis data pangudiluhur.

    Ketika data telah ter-update maka controller akan mengirim

    konfirmasi kepada guru matpel bahwa nilai harian telah berhasil di-

    update.

    : siswa :

    Nilai_semester

    :

    Nilai_seme... :

    db_pangudi...

    lihat_nilai()

    getNilaiSembyId( )

    request()

    return()

    tampil()

    Gambar 3.14 Sequence Diagram siswa melihat nilai semester

    Pada Gambar 3.14 terlihat proses dari seorang siswa untuk

    melihat nilai semester. Untuk melihat nilai semester proses yang

    terjadi adalah ketika memilih option lihat maka class nilai semester

    pada controller akan dikirim ke class nilai semester model agar data

    mengambil data dari basis data pangudiluhur. Ketika data telah

    terambil maka controller akan menampilkan nilai semester kepada

    siswa.

  • 31

    Siswa_model

    no_urut

    nis

    nisn

    nama

    jk

    tempat

    tanggal_lahir

    alamat

    agama

    password

    anak_nomer

    jumlah_saudara

    berat_badan

    tinggi_badan

    nama_ayah

    umur_ayah

    pend_tertinggi_ayah

    pekerjaan_ayah

    agama_ayah

    alamat_ayah

    nama_ibu

    umur_ibu

    pend_tertinggi_ibu

    pekerjaan_ibu

    agama_ibu

    alamat_ibu

    no_telp

    gol_darah

    warga_negara

    jurusan

    mulai_periode

    ups

    u_komp

    u_sekolah

    pomg

    u_praktek

    u_asrama

    osis

    tab_ujian

    antar_jemput

    u_kegiatan

    u_listrik

    u_makan

    tab_wisata

    u_wisata

    u_pelita

    u_sumbangan_pembangunan

    tunggakan_ups_us_dll_tahunlalu

    kelas

    paralel

    id_sekolah

    getSiswas()

    genereteNonNilai()

    Siswa

    nilai_mapel()

    nilai_mid()

    nilai_rapot()

    1

    1

    1

    1

    Guru_model

    nip

    kode_matpetl

    kelas

    paralel

    semester

    tahun_pelajaran

    getGuruMatpel()

    updateKkm()

    Matpel_model

    kode_matpel

    data_matpel

    getMatpels()

    Nilai_harian_model

    n(x)

    r(x)a

    r(x)b

    rt

    id

    getNilaiHarianbyId()

    updateNilaiHarian()

    ambilRemidiHbyCo()

    Nilai_harian

    input_nilai_harian()

    ambil_ni lai()

    tabel_nilai_harian()

    update_nilai()

    ambil_ni lai_remidi_harian()

    update_remidi()

    konfirmasi()

    lihat_nilai()

    tampil()()

    lihat_nilai()()

    return()()

    konfirmasi()()

    1

    1

    1

    1

    Nilai_harian2_model

    n2(X)

    r2(x)a

    r2(x)b

    rt2

    id

    getNilaiHarianbyId()

    updateNilaiHarian()

    ambilRemidiHbyCol()

    Nilai_harian2

    input_nilai_harian2()

    tambah_nilai_harian2()

    input_remidi2()

    konfirmasi()

    l ihat_nilai()

    return()()

    ambil_ni lai()()

    1

    1

    1

    1

    Nilai_mid_model

    id

    nilai

    r1

    r2

    rapot

    catatan

    getNilaiMidbyId()

    getMax()

    update_raport()

    Nilai_mid

    Nilai_mid()

    input_nilai()

    tambah_nilai_mid()

    tambah_catatan_mid()

    tambah_remidi_mid()

    update_nilai()

    tabel_nilai_mid()

    konfirmasi()()

    l ihat_nilai()

    opname()

    return()()

    ambil_ni lai()

    1

    1

    1

    1

    Nilai_semester_model

    id

    nilai

    r1

    raport

    catatan

    getNilaiSembyId()

    updateNilaiSem()

    Nilai_semester

    input_nilai()

    tambah_nilai_sem()

    tambah_catatan_sem()

    tambah_remidi_sem()

    update_nilai()

    ambil_ni lai()

    konfirmasi()()

    lihat_nilai()()

    return()()

    1

    1

    1

    1

    Nilai_tugas_model

    id

    n(x)

    rt

    getNilaiTugasbyId()

    updateNilaiTugas()

    Nilai_tugas

    tambah_nilai_tugas()

    update_nilai()

    tabel_nilai_tugas()

    ambil_ni lai()

    11

    11

    Nilai_model

    id

    nis

    kode_guru_matpel

    semester

    tahun_pelajaran

    getKodeGuruMatpel()

    ambilNilaibyCol()

    guru

    ie_nilai_mapel)()

    genereteSiswa()

    kkm()

    update_kkm()

    ie_nilai_matpel()

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    1

    Nilai_tugas2_model

    id

    n2(x)

    rt2

    getNilaiTugasbyId()

    updateNilaiTugas()

    Nilai_tugas2

    tambah_nilai_tugas()

    update_nilai()

    tabel_nilai_tugas()

    ambil_nilai()()

    1

    1

    1

    1

    Gambar 3.15 Class diagram sistem

    Pada Gambar 3.15 merupakan Class sistem. Untuk

    perancangan class yang akan dibuat pada tersebut adalah class siswa,

    class siswa_model, class matpel_model, class nilai_model, class

    nilai_harian, class nilai_harian_model, class nilai_harian2, class

    nilai_harian2_model, class nilai_tugas, class nilai_tugas_model,

    class nilai_tugas2, class nilai_tugas2_model, class nilai_mid, class

    nilai_mid_model, class nilai_semester, class nilai_semester_model.

  • 32

    Pada class diagram sistem dapat diketahui terdapat sepuluh

    relasi one to many, yaitu antara class siswa dan class siswa_model,

    class nilai_harian dan class nilai_harian_model, class nilai_harian2

    dan class nilai_harian2_model, class nilai_tugas dan class

    nilai_tugas_model, class nilai_tugas2 dan class nilai_tugas2_model,

    class nilai_mid dan class nilai_mid_model, class nilai_semester dan

    class nilai_semester_model, class guru dan guru_model, class guru

    dan nilai_model, class guru dengan matpel_model.

    3.5 Perancangan Aplikasi

    Perancangan Aplikasi dimulai dari perancangan database dan

    pembuatan interface sistem. Setelah merancang sistem dengan UML

    (termasuk di dalamnya class diagram) langkah selanjutnya adalah

    perancangan database dan interface.

    3.5.1. Perancangan Database

    Setelah merancang sistem dengan UML langkah selanjutnya

    adalah perancangan database. Tabel merupakan salah satu komponen

    penting dalam pembuatan database. Tabel-tabel tersebut digunakan

    untuk menyimpan data yang berisi field-field sebagai kolom

    penyimpanan data pada setiap tabel. Dalam pembuatan sistem ini

    akan terdapat 12 (dua belas) tabel dalam database dan tentunya

    antara tabel yang satu dengan tabel yang lain saling berhubungan.

    Struktur pembuatan tabel akan dijelaskan sebagai berikut.

    1. Tabel Siswa

    Tabel siswa berfungsi untuk menyimpan data-data siswa

    dengan ketentuan masing-masing di dalamnya. Tabel siswa

    berhubungan dengan data pribadi siswa, dimana nantinya tabel siswa

  • 33

    ini akan berhubungan dengan tabel guru matpel, dan beberapa tabel

    nilai.

    Tabel siswa menjelaskan field-field yang terdapat dalam tabel

    siswa yang akan dirancang dalam database beserta dengan tipe data

    tiap field. Dimana terdapat 51 field dalam tabel siswa dengan nis

    sebagai primary key. Struktur tabel pada tabel siswa dijabarkan pada

    Tabel 3.1.

    Tabel 3.1. Tabel Siswa

    Field Data Type Extra

    no_urut int(11) primary key

    nis varchar(10)

    nisn varchar(30)

    nama varchar(100)

    jk char(1)

    tempat varchar(20)

    tanggal_lahir date

    alamat varchar(100)

    agama varchar(25)

    password varchar(100)

    anak_nomor char(2)

    jumlah_saudara char(2)

    berat_badan char(3)

    tinggi_badan char(3)

    nama_ayah varchar(100)

    umur_ayah int(2)

    pend_tertinggi_ayah char(10)

    pekerjaan_ayah varchar(20)

    agama_ayah varchar(25)

    alamat_ayah varchar(100)

    nama_ibu varchar(100)

    umur_ibu int(3)

    pend_tertinggi_ibu varchar(10)

    pekerjaan_ibu varchar(10)

    agama_ibu varchar(25)

    alamat_ibu varchar(100)

    no_telp varchar(20)

    gol_darah char(3)

  • 34

    warga_negara varchar(20)

    jurusan varchar(20)

    mulai_periode varchar(20)

    ups bigint(20)

    u_komp bigint(20)

    u_sekolah bigint(20)

    pomg bigint(20)

    u_praktek bigint(20)

    u_asrama bigint(20)

    osis bigint(20)

    tab_ujian bigint(20)

    antar_jemput bigint(20)

    u_kegiatan bigint(20)

    u_listrik bigint(20)

    u_makan bigint(20)

    tab_wisata bigint(20)

    u_wisata bigint(20)

    u_pelita bigint(20)

    u_sumbangan_pembangunan bigint(20)

    tunggakan_ups_us_dii_tahunlalu bigint(20)

    kelas char(1)

    paralel char(1)

    id_sekolah varchar(20)

    2. Tabel Guru

    Tabel guru seperti tabel siswa berfungsi untuk menyimpan

    data-data guru dengan ketentuan masing-masing di dalamnya. Tabel

    guru berhubungan dengan data pribadi guru, dimana nantinya tabel

    siswa ini akan berhubungan dengan tabel guru matpel, dan beberapa

    tabel nilai.

    Tabel 3.2. Tabel Guru

    Field Data Type Extra

    nip varchar(20) Primary Key

    nama varchar(100)

    tempat varchar(20)

  • 35

    tanggal_lahir date

    jk char(1)

    agama varchar(10)

    alamat varchar(100)

    kota varchar(20)

    no_telp varchar(20)

    status_guru varchar(50)

    pendidikan_terakir varchar(50)

    tanggal_masuk date

    masa_kerja varchar(10)

    id_sekolah varchar(20)

    password varchar(200)

    Tabel Guru menjelaskan field-field yang terdapat dalam tabel

    guru yang akan dirancang dalam database beserta dengan tipe data

    tiap field. Dimana terdapat 15 field dalam tabel guru dengan nip

    sebagai primary key. Struktur tabel pada tabel guru dijabarkan pada

    Tabel 3.2.

    3. Tabel Data Matpel

    Tabel Guru menjelaskan dua field yang terdapat dalam tabel

    data_matpel yang akan dirancang dalam database beserta dengan

    tipe data tiap field. Dimana kode_matpel sebagai primary key.

    Struktur tabel pada tabel data_matpel dijabarkan pada Tabel 3.3.

    Tabel 3.3. Tabel Data Matpel

    Field Data Type Extra

    kode_matpel varchar(10) Primary Key

    nama_matpel varchar(50)

  • 36

    4. Tabel Guru Matpel

    Tabel Guru matpel menjelaskan field-field yang terdapat

    dalam tabel guru_matpel yang akan dirancang dalam database

    beserta dengan tipe data tiap field. Tabel kode guru matpel nantinya

    akan berhubungan dengan tabel guru, tabel data_matpel, tabel

    jabatan, dan tabel nilai. Pada tabel guru_matpel field

    kode_guru_matpel sebagai primary key. Struktur tabel pada tabel

    guru_matpel dijabarkan pada Tabel 3.4.

    Tabel 3.4. Tabel Guru Matpel

    Field Data Type Extra

    kode_guru_matpel varchar(10) Primary Key

    nip varchar(10)

    kode_matpel varchar(5)

    kelas varchar(5)

    paralel char(1)

    semester char(1)

    tahun_pelajaran varchar(9)

    kkm_ul1 int(3)

    kkm_ul2 int(3)

    kkm_ul3 int(3)

    kkm_ul4 int(3)

    kkm_ul5 int(3)

    kkm_ul6 int(3)

    kkm_ul7 int(3)

    kkm_ul8 int(3)

    kkm_ul9 int(3)

    kkm_ul10 int(3)

    kkm_ul2_1 int(3)

    kkm_ul2_2 int(3)

    kkm_ul2_3 int(3)

    kkm_ul2_4 int(3)

  • 37

    kkm_ul2_5 int(3)

    kkm_ul2_6 int(3)

    kkm_ul2_7 int(3)

    kkm_ul2_8 int(3)

    kkm_ul2_9 int(3)

    kkm_ul2_10 int(3)

    kkm_mid1 int(3)

    kkm_mid2 int(3)

    kkm_sem1 int(3)

    kkm_sem2 int(3)

    5. Tabel Jabatan

    Tabel Jabatan menjelaskan dua field yaitu kode_jabatan dan

    nama_jabatan yang terdapat dalam tabel jabatan yang akan dirancang

    dalam database beserta dengan tipe data tiap field. Field pada tabel

    jabatan ini meliputi kode_jabatan dan nama_jabatan. Tabel jabatan

    ini akan berhubungan dengan tabel guru. Struktur tabel pada tabel

    jabatan dijabarkan pada Tabel 3.5.

    Tabel 3.5. Tabel Jabatan

    Field Data Type Extra

    kode_jabatan varchar(10)

    nama_jabatan varchar(50)

    6. Tabel Nilai

    Tabel Nilai menjelaskan field-field yang terdapat dalam tabel

    nilai yang akan dirancang dalam database beserta dengan tipe data

    tiap field. Terdapat 5 (lima) field pada tabel nilai, yang nantinya akan

    berhubungan dengan beberapa tabel diantaranya tabel siswa, tabel

    nilai_harian, tabel nilai_harian2, tabel nilai_tugas, tabel nilai_tugas2,

  • 38

    tabel nilai_mid, dan tabel nilai_semester. Struktur tabel pada tabel

    nilai dijabarkan pada Tabel 3.6.

    Tabel 3.6. Tabel Nilai

    Field Data Type Extra

    id bigint(20) auto_increment

    nis varchar(10)

    kode_gutu_matpel varchar(10)

    semester char(1)

    kelas varchar(9)

    7. Tabel Nilai harian

    Tabel Nilai harian menjelaskan field-field yang terdapat

    dalam tabel nilai_harian yang akan dirancang dalam database beserta

    dengan tipe data tiap field. Tabel nilai_harian ini akan berhubungan

    dengan tabel nilai. Struktur tabel pada tabel nilai_harian dijabarkan

    pada Tabel 3.7.

    Tabel 3.7. Tabel Nilai Harian dan Nilai Harian2

    Field Data Type Extra

    id bigint(20) Primary Key

    n1 int(3)

    n2 int(3)

    n3 int(3)

    n4 int(3)

    n5 int(3)

    n6 int(3)

    n7 int(3)

    n8 int(3)

    n9 int(3)

    n10 int(3)

    r1a int(3)

  • 39

    r2a int(3)

    r3a int(3)

    r4a int(3)

    r5a int(3)

    r6a int(3)

    r7a int(3)

    r8a int(3)

    r9a int(3)

    r10a int(3)

    r1b int(3)

    r2b int(3)

    r3b int(3)

    r4b int(3)

    r5b int(3)

    r6b int(3)

    r7b int(3)

    r8b int(3)

    r9b int(3)

    r10b int(3)

    rt float

    8. Tabel Nilai harian2

    Tabel Nilai harian menjelaskan field-field yang terdapat

    dalam tabel nilai_harian2 yang akan dirancang dalam database

    beserta dengan tipe data tiap field. Pada dasarnya fields pada tabel

    nilai_harian2 sama dengan tabel nilai_harian, yang membedakan

    periode pemasukan nilai. Struktur tabel pada tabel nilai_harian2

    dapat dilihat pada tabel nilai harian atau tabel 3.7 .

  • 40

    9. Tabel Nilai Tugas

    Tabel Nilai tugas menjelaskan field-field yang terdapat dalam

    tabel nilai_tugas yang akan dirancang dalam database beserta

    dengan tipe data tiap field. Fields pada tabel nilai tugas akan

    berhubungan dengan tabel nilai. Struktur tabel pada tabel

    nilai_tugas dijabarkan pada Tabel 3.8.

    Tabel 3.8. Tabel Nilai Tugas dan Nilai Tugas2

    Field Data Type Extra

    id bigint(20) Primary Key

    n1 int(3)

    n2 int(3)

    n3 int(3)

    n4 int(3)

    n5 int(3)

    n6 int(3)

    n7 int(3)

    n8 int(3)

    n9 int(3)

    n10 int(3)

    n11 int(3)

    n12 int(3)

    n13 int(3)

    n14 int(3)

    n15 int(3)

    n16 int(3)

    n17 int(3)

    n18 int(3)

    n19 int(3)

    n20 int(3)

    rt int(3)

  • 41

    10. Tabel Nilai Tugas2

    Tabel Nilai tugas2 menjelaskan field-field yang terdapat

    dalam tabel nilai_tugas2 yang akan dirancang dalam database beserta

    dengan tipe data tiap field. Seperti pada tabel nilai_harian2, tabel

    nilai_tugas 2 ini memiliki field yang sama dengan tabel_tugas, yang

    membedakan hanya periode pemasukan nilai. Struktur tabel pada

    tabel nilai_tugas2 dijabarkan pada Tabel 3.8.

    11. Tabel Nilai Mid

    Tabel Nilai mid menjelaskan field-field yang terdapat dalam

    tabel nilai_mid yang akan dirancang dalam database beserta dengan

    tipe data tiap field. Tabel nilai_mid ini akan berhubungan dengan

    tabel_nilai. Struktur tabel pada tabel nilai_mid dijabarkan pada Tabel

    3.9.

    Tabel 3.9. Tabel Nilai Mid

    Field Data Type Extra

    id bigint(20) Primary Key

    nilai int(3)

    r1 int(3)

    r2 int(3)

    raport float

    catatan varchar(200)

    12. Tabel Nilai Semester

    Tabel Nilai semester menjelaskan field-field yang terdapat

    dalam tabel nilai_semester yang akan dirancang dalam database

    beserta dengan tipe data tiap field. Seperti pada tabel-tabel nilai

    lainnya, tabel nilai_semester ini akan berhubungan dengan tabel

  • 42

    nilai, dengan field id sebagai primary key. Struktur tabel pada

    tabel nilai_semester dijabarkan pada Tabel 3.10.

    Tabel 3.10. Tabel Nilai Semester

    Field Data Type Extra

    id bigint(20) Primary Key

    nilai int(3)

    r1 int(3)

    raport float

    catatan varchar(200)

    13. Tabel Ukstrakurikuler

    Tabel Ekstrakurikuler menjelaskan field-field yang terdapat

    dalam tabel ekstra yang akan dirancang dalam database beserta

    dengan tipe data tiap field. Tabel ini merupakan tabel tambahan

    yang berfungsi sebagai pelengkap dalam inputan rapor. Struktur

    tabel pada tabel ekstrakurikuler dijabarkan pada Tabel 3.11.

    Tabel 3.11. Tabel Ekstra

    Field Data Type Extra

    id int (2) Auto_increment

    nama varchar (50)

  • 43

    3.5.2. Desain Interface

    Dalam perancangan Sistem Informasi Akademik Penilaian

    Hasil Studi Siswa Sekolah Dasar Yayasan Pangudi Luhur diperlukan

    interface dalam penggunaannya. Perancangan interface dilakukan

    untuk mendasari pembuatan tampilan aplikasi yang akan dibuat.

    Gambar 3.16 Desain Halaman Utama

    Gambar 3.16 merupakan rancangan Halaman Utama pada

    Sistem Informasi Akademik Penilaian Yayasan ini. Pada Halaman

    Utama ini, user dapat memilih menu sesuai kebutuhannya pada web

    menu. Menu-menu yang tersedia adalah menu Profil Sekolah dan

    menu Sistem Informasi Akademik Penilaian. Pada bagian-bagian

    khusus menu utama masih terdapat beberapa sub-sub menu di

    dalamnya.

    Gambar 3.17 merupakan rancangan Halaman Login Guru

    matpel. Sebelum masuk pada halaman ini, sebelumnya guru matpel

    sudah memilih menu hak akses login sebagai guru matpel untuk

    pemisah hak akses tiap user. Setelah login berhasil, maka guru

    matpel akan masuk ke menu selanjutnya.

  • 44

    Gambar 3.17 Desain Halaman Login Guru matpel

    Gambar 3.18 merupakan rancangan Halaman pilih matpel..

    Pada halaman ini, guru matpel harus mengisi semua textbox untuk

    masuk ke halaman selanjutnya.

    Gambar 3.18 Desain Halaman Pilih Matpel

  • 45

    Gambar 3.19 Desain Halaman Input Nilai Harian

    Gambar 3.19 merupakan rancangan Halaman input nilai

    harian.. Pada halaman ini, guru matpel dapat mengisi nilai harian

    sesuai matpel yang diampu. Terdapat juga tabel remidi untuk nilai

    siswa yang belum memenuhi KKM.

    3.6 Perancangan Pengujian Sistem

    Pengujian sistem adalah elemen dari jaminan kualitas

    perangkat lunak dan mempresentasikan kajian pokok dari spesifikasi,

    desain dan pengkodean. Metode ujicoba blackbox memfokuskan pada

    keperluan fungsional dari software. Karena itu ujicoba blackbox

    memungkinkan pengembang software untuk membuat himpunan

    kondisi input yang akan melatih seluruh syarat-syarat fungsional

    suatu program.

    Black-Box Testing digunakan untuk menemukan kesalahan

    dalam beberapa kategori yaitu: fungsi yang tidak benar atau tidak

    ada,kesalahan antarmuka (interface errors), kesalahan pada struktur

    data dan akses basis data, kesalahan performansi (performance

    errors), kesalahan inisialisasi dan terminasi.

    Sebaiknya untuk pengujian blackbox dilakukan oleh orang

    yang tidak mengetahui struktur dalam dari Kode Program. Jika

    pengujian dilakukan oleh programmer maka programmer memiliki

  • 46

    kecenderungan untuk memberikan inputan sesuai program yang

    mereka buat atau sesuai yang diprogramkan, sedangkan yang

    diperlukan adalah program yang dibuat agar sesuai dengan kebutuhan

    pelanggan.

    Keuntungan menggunakan blackbox yaitu :

    a. Kemudahan dalam penggunaan, dimana penguji tidak perlu

    berokus pada bagian dalam dari aplikasi. Lebih mudah dalam

    membuat uji kasus karena hanya bekerja melalui aplikasi,

    sebagaimana seperti user biasa.

    b. Pengujian yang cepat, karena penguji hanya berfokus pada bagian

    tampilan dan tidak perlu menghabiskan waktu untuk

    mengidentifikasi bagian dalam dari apllikasi yang terlibat dalam

    proses.

    c. Kesederhanaan, dimana blackbox menawarkan pengujian yang

    sederhana untuk aplikasi yang besar dan komplek. Pengujian

    hanya berfokus pada inputan yang valid dan tidak valid-nya serta

    output yang diterima jika inputan valid atau benar.