You are on page 1of 33

NAMA SEKOLAH

LOGO SEKOLAH

TAHUN PELAJARAN :

2019-20

LAPORAN PROYEK HIDUP

“ PERMAINAN TIC-TAC-

TOE ”
LOGO SEKOLAH 5
SERTIFIKAT 5
PENGAKUAN 6
XI

ILMU KOMPUTER

083
PERKENALAN 7
TUJUAN PROYEK 8

1
SISTEM YANG DIAJUKAN
8
SIKLUS HIDUP
PENGEMBANGAN SISTEM
(SDLC ) 10
TAHAP SIKLUS HIDUP
PENGEMBANGAN SISTEM
10
FASE INISIASI10
Tujuan dari Tahap Inisiasi
adalah untuk: 11
TAHAP PENGEMBANGAN
KONSEP SISTEM 11
FASE PERENCANAAN
13
TAHAP ANALISIS
KEBUTUHAN 14
Tujuan dari fase ini adalah
untuk: 14
FASE DESAIN14
FASE PENGEMBANGAN
15
INTEGRASI DAN TAHAP
PENGUJIAN 16
TAHAP IMPLEMENTASI
17
FASE OPERASI DAN
PEMELIHARAAN 17
KELUARAN 29
»> 29
II 29
II 41516 29

2
II 71819 29
II 29
II 41516 29
PENGUJIAN 30
METODE PENGUJIAN
30
PENGUJIAN KOTAK
HITAM 30
PENGUJIAN BERBASIS
SPESIFIKASI 31
KEUNTUNGAN DAN
KERUGIAN 31
PENGUJIAN KOTAK PUTIH
31
EVALUASI
KELENGKAPAN KODE
32
PERSYARATAN
PERANGKAT KERAS DAN
PERANGKAT LUNAK
33

PANDUAN PROYEK :
PGT (CS)

3
NAMA SEKOLAH

LOGO SEKOLAH

SERTIFIKAT

Ini untuk mengesahkan Kadet itu _________________________________________

Gulung No: _______________________ telah berhasil menyelesaikan proyek

Karya berjudul " TIC-TAC-TOE GAME ." pada mata pelajaran Ilmu Komputer (083) yang

diatur dalam peraturan CBSE Untuk Keperluan Ujian Praktikum Kelas XI yang akan

diselenggarakan di _________________ pada____________.

( )
PGT Komp Sci
IC Guru

Pemeriksa:

Nama: _______________

Tanda tangan:

Tanggal:

4
DAFTAR ISI [ TOC ]
HALAMAN
SER KETERANGAN
NO

01 PENGAKUAN 04

02 PERKENALAN 05

03 TUJUAN PROYEK 05

04 SISTEM YANG DIAJUKAN 06

05 SIKLUS HIDUP PENGEMBANGAN SISTEM (SDLC) 07

06 TAHAP SIKLUS HIDUP PENGEMBANGAN SISTEM 08

07 FLOW CHART 15

08 KODE SUMBER 16

09 KELUARAN 19

10 PENGUJIAN 20

PERSYARATAN PERANGKAT KERAS DAN PERANGKAT


11 23
LUNAK

12 BIBLIOGRAFI 24

PENGAKUAN

Terlepas dari upaya saya, keberhasilan proyek apa pun sangat bergantung pada
dorongan dan pedoman dari banyak orang lain. Saya mengambil kesempatan ini untuk
mengungkapkan rasa terima kasih saya kepada orang-orang yang telah berperan
penting dalam keberhasilan penyelesaian proyek ini.

5
Saya mengungkapkan rasa terima kasih yang mendalam kepada Tuhan Yang
Mahakuasa karena memberi saya kekuatan untuk menyelesaikan proyek dengan
sukses.

Ucapan terima kasih yang sebesar-besarnya saya sampaikan kepada kedua


orang tua saya yang selalu memberikan semangat selama pelaksanaan proyek ini.

Saya berterima kasih atas kontribusi dari individu yang berkontribusi dalam
membawa proyek ini ke tingkat ini, yang terus menjaga saya terlepas dari kekurangan
saya,

Rasa terima kasih yang mendalam saya sampaikan kepada Kepala Sekolah
yang termasyhur, yang tak henti-hentinya memotivasi dan mengulurkan tangan
membantu kami.

Saya mengucapkan terima kasih yang sebesar-besarnya kepada civitas


akademika Wakil Kepala Sekolah, , untuk dorongan konstan dan bimbingan yang
diberikan selama proyek ini

Saya kewalahan untuk mengucapkan terima kasih kepada untuk memberikan


saya sebuah
infrastruktur dan dukungan moral selama melaksanakan proyek ini di sekolah.

Terima kasih yang tulus kepada _, Master In-charge, Pemandu, Mentor semua
di atas seorang teman, yang secara kritis meninjau proyek saya dan membantu
memecahkan setiap masalah, terjadi selama pelaksanaan proyek

Bimbingan dan dukungan yang diterima dari semua anggota yang berkontribusi
dan yang berkontribusi pada proyek ini, sangat penting untuk keberhasilan proyek. Saya
berterima kasih atas dukungan dan bantuan mereka yang tiada henti.

PROYEK PERMAINAN TIC-TAC-TOE


PERKENALAN

Tic-tac-toe ( Bahasa Inggris Amerika ), noughts and crosses ( Bahasa Inggris Inggris ),

atau Xs dan Os adalah permainan kertas dan pensil untuk dua pemain, X dan O , yang

bergiliran menandai ruang dalam kisi 3×3 . Pemain yang berhasil menempatkan tiga tanda

mereka dalam barisan horizontal, vertikal, atau diagonal memenangkan permainan.

6
TUJUAN PROYEK

Tujuan dari proyek ini adalah untuk membiarkan siswa menerapkan pengetahuan

pemrograman ke dalam situasi/masalah dunia nyata dan memaparkan kepada siswa

bagaimana keterampilan pemrograman membantu dalam mengembangkan perangkat

lunak yang baik.

1. Tulis program menggunakan alat perangkat lunak modern.

2. Terapkan prinsip pemrograman berorientasi objek secara efektif saat

mengembangkan proyek berukuran kecil hingga menengah.

3. Tulis kode prosedural yang efektif untuk memecahkan masalah berukuran kecil

hingga sedang.

4. Siswa akan menunjukkan luasnya pengetahuan dalam ilmu komputer, seperti

yang dicontohkan dalam bidang sistem, teori dan pengembangan perangkat

lunak.

5. Siswa akan menunjukkan kemampuan untuk melakukan penelitian atau proyek

Ilmu Komputer terapan, yang membutuhkan keterampilan menulis dan presentasi

yang menunjukkan gaya ilmiah dalam ilmu komputer.

SISTEM YANG DIAJUKAN

Saat ini seseorang tidak dapat bergantung pada manusia yang bisa salah yang

benar-benar ingin melawan persaingan tanpa ampun saat ini di mana tidak bijak

mengatakan "berbuat salah adalah manusia" tidak lagi valid, sudah ketinggalan

zaman untuk merasionalisasi kesalahan Anda. Jadi, untuk mengimbangi waktu, untuk

menghasilkan hasil terbaik tanpa kegagalan fungsi dan efisiensi yang lebih besar

sehingga dapat menggantikan tumpukan lalat yang tak ada habisnya dengan hard disk

komputer yang jauh lebih canggih.

7
Kita harus menggunakan perangkat lunak manajemen data. Perangkat lunak

telah meningkat dalam atomisasi berbagai organisasi. Banyak produk perangkat lunak

yang berfungsi sekarang ada di pasar, yang telah membantu membuat organisasi

bekerja lebih mudah dan efisien. Manajemen data awalnya harus memelihara banyak

buku besar dan banyak pekerjaan kertas yang harus diselesaikan, tetapi sekarang

produk perangkat lunak di organisasi ini telah membuat pekerjaan mereka lebih cepat

dan lebih mudah. Sekarang hanya perangkat lunak ini yang harus dimuat di komputer

dan pekerjaan dapat dilakukan.

Ini mencegah banyak waktu dan uang. Pekerjaan menjadi sepenuhnya otomatis

dan informasi apa pun mengenai organisasi dapat diperoleh dengan mengklik tombol.

Selain itu, sekarang ini adalah zaman komputer dan mengotomatisasi organisasi

semacam itu memberikan tampilan yang lebih baik.

8
SIKLUS HIDUP PENGEMBANGAN SISTEM (SDLC )

Siklus hidup pengembangan sistem adalah teknik manajemen proyek yang


membagi proyek kompleks menjadi segmen atau fase yang lebih kecil dan lebih mudah
dikelola. Segmentasi proyek memungkinkan manajer untuk memverifikasi keberhasilan
penyelesaian fase proyek sebelum mengalokasikan sumber daya ke fase berikutnya.
Proyek pengembangan perangkat lunak biasanya meliputi fase inisiasi,
perencanaan, desain, pengembangan, pengujian, implementasi, dan pemeliharaan.
Namun, fase dapat dibagi secara berbeda tergantung pada organisasi yang terlibat.
Sebagai contoh, kegiatan proyek awal dapat ditetapkan sebagai fase permintaan,
definisi kebutuhan, dan perencanaan, atau fase inisiasi, pengembangan konsep, dan
perencanaan. Pengguna akhir dari sistem yang sedang dikembangkan harus dilibatkan
dalam meninjau keluaran dari setiap fase untuk memastikan sistem yang dibangun dapat
memberikan fungsionalitas yang dibutuhkan.
TAHAP SIKLUS HIDUP PENGEMBANGAN SISTEM

FASE INISIASI

Fase Inisiasi dimulai ketika sponsor bisnis mengidentifikasi kebutuhan atau peluang.

9
Tujuan dari Tahap Inisiasi adalah untuk:

4- Identifikasi dan validasi peluang untuk meningkatkan pencapaian bisnis


organisasi atau kekurangan yang terkait dengan kebutuhan bisnis.
4- Identifikasi asumsi dan kendala yang signifikan pada solusi untuk kebutuhan itu.
4- Merekomendasikan eksplorasi konsep dan metode alternatif untuk memenuhi
kebutuhan termasuk mempertanyakan kebutuhan akan teknologi, yaitu, akankah
perubahan dalam proses bisnis menawarkan solusi?
4- Yakinkan bisnis eksekutif dan sponsor teknis eksekutif. Sponsor menunjuk
Manajer Proyek dan kebutuhan bisnis didokumentasikan dalam Proposal Konsep.
Proposal Konsep mencakup informasi tentang proses bisnis dan hubungannya
dengan Badan/Organisasi.
4- Infrastruktur dan Rencana Strategis. Proposal Konsep yang berhasil
menghasilkan Piagam Manajemen Proyek yang menguraikan wewenang manajer
proyek untuk memulai
proyek.

Pengawasan yang cermat diperlukan untuk memastikan proyek mendukung


tujuan bisnis strategis dan sumber daya diterapkan secara efektif ke dalam arsitektur
perusahaan organisasi. Fase inisiasi dimulai ketika peluang untuk menambah,
meningkatkan, atau memperbaiki sistem diidentifikasi dan secara formal diminta melalui
presentasi kasus bisnis. Kasus bisnis setidaknya harus menjelaskan tujuan proposal,
mengidentifikasi manfaat yang diharapkan, dan menjelaskan bagaimana sistem yang
diusulkan mendukung salah satu strategi bisnis organisasi. Kasus bisnis juga harus
mengidentifikasi solusi alternatif dan merinci sebanyak mungkin persyaratan informasi,
fungsional, dan jaringan.

TAHAP PENGEMBANGAN KONSEP SISTEM

Tahap Pengembangan Konsep Sistem dimulai setelah kebutuhan atau peluang bisnis
divalidasi oleh Pimpinan Program Badan/Organisasi dan CIO Badan/Organisasi.

Tujuan Tahap Pengembangan Konsep Sistem adalah untuk:

4- Tentukan kelayakan dan kesesuaian alternatif.

1
0
4- Identifikasi antarmuka sistem.
4- Identifikasi persyaratan fungsional dan data dasar untuk memenuhi kebutuhan
bisnis.
4- Tetapkan batasan sistem; mengidentifikasi tujuan, sasaran, faktor penentu
keberhasilan, dan ukuran kinerja.
4- Mengevaluasi biaya dan manfaat dari pendekatan alternatif untuk memenuhi
persyaratan fungsional dasar
4- Menilai risiko proyek
4- Mengidentifikasi dan memulai tindakan mitigasi risiko, dan Mengembangkan
arsitektur teknis tingkat tinggi, model proses, model data, dan konsep operasi.
Fase ini mengeksplorasi solusi teknis potensial dalam konteks kebutuhan bisnis.
4- Ini mungkin mencakup beberapa keputusan trade-off seperti keputusan untuk
menggunakan produk perangkat lunak COTS sebagai lawan dari
mengembangkan perangkat lunak kustom atau menggunakan kembali komponen
perangkat lunak, atau keputusan untuk menggunakan pengiriman tambahan
versus penyebaran satu kali yang lengkap.
4- Konstruksi prototipe yang dapat dieksekusi didorong untuk mengevaluasi
teknologi untuk mendukung proses bisnis. System Boundary Document berfungsi
sebagai dokumen referensi penting untuk mendukung proses Information
Technology Project Request (ITPR).
4- ITPR harus disetujui oleh CIO Negara sebelum proyek dapat dilanjutkan.
REPRESENTASI GAMBAR DARI SDLC:

1
1
FASE PERENCANAAN

Fase perencanaan adalah langkah paling kritis dalam menyelesaikan proyek


pengembangan, akuisisi, dan pemeliharaan. Perencanaan yang hati-hati, khususnya
pada tahap awal proyek, diperlukan untuk mengoordinasikan kegiatan dan mengelola
risiko proyek secara efektif. Kedalaman dan formalitas rencana proyek harus sepadan
dengan karakteristik dan risiko proyek tertentu. Rencana proyek menyempurnakan
informasi yang dikumpulkan selama fase inisiasi dengan lebih lanjut mengidentifikasi
kegiatan dan sumber daya khusus yang diperlukan untuk menyelesaikan proyek.
Bagian penting dari tugas manajer proyek adalah mengoordinasikan diskusi
antara pengguna, audit, keamanan, desain, pengembangan, dan personel jaringan untuk
mengidentifikasi dan mendokumentasikan sebanyak mungkin persyaratan fungsional,
keamanan, dan jaringan. Selama fase ini, sebuah rencana dikembangkan yang
mendokumentasikan pendekatan yang akan digunakan dan mencakup diskusi tentang
metode, alat, tugas, sumber daya, jadwal proyek, dan input pengguna. Penugasan
personel, biaya, jadwal proyek, dan tanggal target ditetapkan.
Rencana Manajemen Proyek dibuat dengan komponen yang terkait dengan
perencanaan akuisisi, perencanaan manajemen konfigurasi, perencanaan jaminan
kualitas, konsep operasi, keamanan sistem, verifikasi dan validasi, dan perencanaan
manajemen rekayasa sistem.

1
2
TAHAP ANALISIS KEBUTUHAN

Fase ini secara formal mendefinisikan persyaratan pengguna fungsional terperinci


menggunakan persyaratan tingkat tinggi yang diidentifikasi dalam fase Inisiasi, Konsep
Sistem, dan Perencanaan. Ini juga menggambarkan persyaratan dalam hal data, kinerja
sistem, keamanan, dan persyaratan pemeliharaan untuk sistem. Persyaratan
didefinisikan dalam fase ini ke tingkat detail yang cukup untuk melanjutkan desain
sistem. Mereka harus dapat diukur, dapat diuji, dan berhubungan dengan kebutuhan
bisnis atau peluang yang diidentifikasi dalam Fase Inisiasi. Persyaratan yang akan
digunakan untuk menentukan penerimaan sistem ditangkap dalam Test and Evaluation
MasterPlan.

Tujuan dari fase ini adalah untuk:

4- Selanjutnya tentukan dan sempurnakan persyaratan fungsional dan data dan


dokumentasikan dalam Dokumen Persyaratan,
4- Menyelesaikan rekayasa ulang proses bisnis dari fungsi-fungsi yang akan
didukung (yaitu, memverifikasi informasi apa yang mendorong proses bisnis,
informasi apa yang dihasilkan, siapa yang menghasilkannya, ke mana perginya
informasi, dan siapa yang memprosesnya),
4- Kembangkan data terperinci dan model proses (input sistem, output, dan
prosesnya.
4. Kembangkan persyaratan pengujian dan evaluasi yang akan digunakan untuk
menentukan kinerja sistem yang dapat diterima .

FASE DESAIN

Fase desain melibatkan pengubahan kebutuhan informasional, fungsional, dan


jaringan yang diidentifikasi selama fase inisiasi dan perencanaan menjadi spesifikasi
desain terpadu yang digunakan pengembang untuk program skrip selama fase
pengembangan. Rancangan program dibangun dengan berbagai cara. Menggunakan
pendekatan top-down, desainer pertama-tama mengidentifikasi dan menautkan
komponen dan antarmuka program utama, kemudian memperluas tata letak desain saat
mereka mengidentifikasi dan menghubungkan subsistem dan koneksi yang lebih kecil.
Dengan menggunakan pendekatan dari bawah ke atas, desainer pertama-tama
mengidentifikasi dan menautkan komponen dan antarmuka program kecil, kemudian

1
3
memperluas tata letak desain saat mereka mengidentifikasi dan menghubungkan sistem
dan koneksi yang lebih besar. Teknik desain kontemporer sering menggunakan alat
prototyping yang membangun desain mock-up item seperti layar aplikasi, layout
database, dan arsitektur sistem. Pengguna akhir, desainer, pengembang, manajer basis
data, dan administrator jaringan harus meninjau dan menyempurnakan desain prototipe
dalam proses berulang sampai mereka menyetujui desain yang dapat diterima. Personil
audit, keamanan, dan jaminan kualitas harus dilibatkan dalam proses peninjauan dan
persetujuan. Selama fase ini, sistem dirancang untuk memenuhi persyaratan fungsional
yang diidentifikasi pada fase sebelumnya. Karena masalah dalam fase desain bisa
sangat mahal untuk dipecahkan pada tahap pengembangan perangkat lunak
selanjutnya, berbagai elemen dipertimbangkan dalam desain untuk mengurangi risiko.
Ini termasuk:

+ Mengidentifikasi potensi risiko dan menentukan fitur desain mitigasi.


+ Melakukan penilaian risiko keamanan.
4- Mengembangkan rencana konversi untuk memigrasikan data saat ini ke sistem
baru.
4- Menentukan lingkungan operasi.
4- Mendefinisikan subsistem utama dan input dan outputnya.
+ Mengalokasikan proses ke sumber daya.
4- Mempersiapkan spesifikasi logika terperinci untuk setiap modul perangkat lunak.
Hasilnya adalah draft Dokumen Desain Sistem yang menangkap desain awal
untuk sistem.
+ Segala sesuatu yang membutuhkan input atau persetujuan pengguna
didokumentasikan dan ditinjau oleh pengguna. Setelah dokumen ini disetujui oleh
CIO Agensi dan Sponsor Bisnis, Dokumen Desain Sistem final dibuat untuk
berfungsi sebagai Desain Kritis/Detail untuk sistem.
+ Dokumen ini menerima tinjauan ketat oleh perwakilan teknis dan fungsional Agensi
untuk memastikan bahwa dokumen ini memenuhi persyaratan bisnis. Bersamaan
dengan pengembangan desain sistem, Manajer Proyek Badan memulai
pengembangan Rencana Implementasi, Manual Operasi dan Pemeliharaan, dan
Rencana Pelatihan.

1
4
FASE PENGEMBANGAN

Fase pengembangan melibatkan pengubahan spesifikasi desain menjadi


program yang dapat dieksekusi. Standar pengembangan yang efektif mencakup
persyaratan bahwa pemrogram dan peserta proyek lainnya mendiskusikan
spesifikasi desain sebelum pemrograman dimulai. Prosedur membantu memastikan
pemrogram memahami dengan jelas desain program dan persyaratan fungsional.
Pemrogram menggunakan berbagai teknik untuk mengembangkan program
komputer. Program berorientasi transaksi besar yang terkait dengan lembaga
keuangan secara tradisional telah dikembangkan dengan menggunakan teknik
pemrograman prosedural. Pemrograman prosedural melibatkan skrip baris demi
baris dari instruksi logis yang digabungkan untuk membentuk sebuah program.
Penyelesaian tahap sebelumnya secara efektif merupakan faktor kunci keberhasilan
tahap Pengembangan. Fase Pengembangan terdiri dari:

4- Menerjemahkan persyaratan dan desain terperinci ke dalam komponen sistem.


4- Menguji elemen individu (unit) untuk kegunaan.
4- Mempersiapkan integrasi dan pengujian sistem TI.

INTEGRASI DAN TAHAP PENGUJIAN

4- Integrasi subsistem, sistem, keamanan, dan pengujian penerimaan pengguna


dilakukan selama fase integrasi dan pengujian. Pengguna, dengan mereka yang
bertanggung jawab atas jaminan kualitas, memvalidasi bahwa persyaratan
fungsional, seperti yang didefinisikan dalam dokumen persyaratan fungsional,
dipenuhi oleh sistem yang dikembangkan atau dimodifikasi. Staf Keamanan OIT
menilai keamanan sistem dan mengeluarkan sertifikasi dan akreditasi keamanan
sebelum instalasi/implementasi.

Berbagai tingkat pengujian dilakukan, termasuk :

4- Pengujian di fasilitas pengembangan oleh kontraktor dan kemungkinan didukung


oleh pengguna akhir

4- Pengujian sebagai sistem yang diterapkan dengan pengguna akhir yang bekerja

1
5
sama dengan personel kontrak

+ Pengujian operasional oleh pengguna akhir saja yang menjalankan semua fungsi.
Persyaratan ditelusuri selama pengujian, evaluasi Verifikasi & Validasi
Independen akhir dilakukan dan semua dokumentasi ditinjau dan diterima
sebelum penerimaan sistem.

TAHAP IMPLEMENTASI

Fase ini dimulai setelah sistem diuji dan diterima oleh pengguna. Pada fase ini,
sistem dipasang untuk mendukung fungsi bisnis yang dimaksud. Kinerja sistem
dibandingkan dengan tujuan kinerja yang ditetapkan selama fase perencanaan.
Implementasi meliputi pemberitahuan pengguna, pelatihan pengguna, pemasangan
perangkat keras, pemasangan perangkat lunak ke komputer produksi, dan integrasi
sistem ke dalam proses kerja sehari-hari. Fase ini berlanjut hingga sistem beroperasi
dalam produksi sesuai dengan kebutuhan pengguna yang ditentukan.

FASE OPERASI DAN PEMELIHARAAN

Operasi sistem sedang berlangsung. Sistem dimonitor untuk kinerja yang


berkelanjutan sesuai dengan kebutuhan pengguna dan modifikasi sistem yang
diperlukan digabungkan. Operasi berlanjut selama sistem dapat diadaptasi secara efektif
untuk menanggapi kebutuhan organisasi. Ketika modifikasi atau perubahan diidentifikasi,
sistem dapat masuk kembali ke tahap perencanaan.

Tujuan dari fase ini adalah untuk:

4- Mengoperasikan, memelihara, dan meningkatkan sistem.


4- Nyatakan bahwa sistem dapat memproses informasi sensitif.
4- Lakukan penilaian sistem secara berkala untuk memastikan persyaratan
fungsional terus terpenuhi.
4- Tentukan kapan sistem perlu dimodernisasi, diganti, atau dihentikan.

1
6
FLOW CHART

1
7
KODE SUMBER

Buat proyek Python dari TIC-TAC-TOE GAME

impor acak

square_values = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]

jumlah_belokan = 0

no_wins = Benar

print("Ayo main Tic-Tac-Toe!")

pemain_1_pilih = ""

pemain_2_pilih = ""

player_1 = input("Masukkan nama untuk pemain 1 dan tekan enter, biarkan

kosong untuk

keluar sebagai Pemain 1:")

player_2 = input("Masukkan nama untuk pemain 2 dan tekan enter, kosongkan

untuk keluar sebagai Pemain 2: ")

#set nama pemain

jika (pemain_1 == "" atau pemain_2 == ""):

jika (pemain_1 == ""):

pemain_1 = "Pemain 1"

jika (pemain_2 == ""):

pemain_2 = "Pemain 2"

kalau tidak:

1
8
lulus

#menugaskan X atau O ke pemain

jika (acak.randint(1,2) == 1):

player_1_pick = input(player_1 + ", pilih X atau O:").upper()

jika (player_1_pick == "X"):

player_2_pick = "O"

kalau tidak:

pemain_2_pilih = "X"

kalau tidak:

player_2_pick = input(player_2 + ", pilih X atau O:").upper()

jika (player_2_pick == "X"):

player_1_pick = "O"

kalau tidak:

pemain_1_pilih = "X"

#melakukan gerakan

def make_a_move(pemain, pemain_pilih):

mencetak("""

LOGO SEKOLAH....................................................................................................................5
SERTIFIKAT........................................................................................................................5
PENGAKUAN...............................................................................................................6
PERKENALAN.............................................................................................................7
TUJUAN PROYEK.......................................................................................................8
SISTEM YANG DIAJUKAN........................................................................................8
SIKLUS HIDUP PENGEMBANGAN SISTEM (SDLC )..........................................10
TAHAP SIKLUS HIDUP PENGEMBANGAN SISTEM..........................................10
FASE INISIASI...........................................................................................................10
Tujuan dari Tahap Inisiasi adalah untuk:.....................................................................11
TAHAP PENGEMBANGAN KONSEP SISTEM......................................................11

1
9
FASE PERENCANAAN.............................................................................................13
TAHAP ANALISIS KEBUTUHAN...........................................................................14
Tujuan dari fase ini adalah untuk:................................................................................14
FASE DESAIN............................................................................................................14
FASE PENGEMBANGAN.........................................................................................15
INTEGRASI DAN TAHAP PENGUJIAN..................................................................16
TAHAP IMPLEMENTASI..........................................................................................17
FASE OPERASI DAN PEMELIHARAAN................................................................17
KELUARAN................................................................................................................29
»>.....................................................................................................................................29
II.......................................................................................................................................29
II 41516............................................................................................................................29
II 71819............................................................................................................................29
II.......................................................................................................................................29
II 41516............................................................................................................................29
PENGUJIAN................................................................................................................30
METODE PENGUJIAN..............................................................................................30
PENGUJIAN KOTAK HITAM...................................................................................30
PENGUJIAN BERBASIS SPESIFIKASI...................................................................31
KEUNTUNGAN DAN KERUGIAN..........................................................................31
PENGUJIAN KOTAK PUTIH....................................................................................31
EVALUASI KELENGKAPAN KODE.......................................................................32
PERSYARATAN PERANGKAT KERAS DAN PERANGKAT LUNAK...............33

{} | {} | {}

| | """ .format(nilai_persegi[0], nilai_persegi[1], nilai_persegi[2],


nilai_persegi[3], nilai_persegi[4], nilai_persegi[5], nilai_persegi[6],
nilai_persegi[7], nilai_persegi[8] ))

status = Benar

sementara (status == Benar):

pilihan = input(pemain + " pilih kotak(" + player_pick + "): ")

mencoba:

int(pilihan)

jika (1 <= int(pilihan) <= 9):

2
0
if (nilai_persegi[int(pilihan)-1] != "X" dan nilai_persegi[int(pilihan)-1] !=

"O"):

square_values.hapus(pilihan)

square_values.insert(int(choice)-1, player_pick)

status = Salah

kalau tidak:

print("Kotak sudah diambil, pilih kotak lain.")

kalau tidak:

print("Masukkan bukan pilihan, pilih lagi.")

kecuali ValueError:

print("Masukkan bukan pilihan, pilih lagi.")

status_main = Benar

def check_for_a_win(nilai1, nilai2, nilai3):

status_main global

no_wins global

jika (nilai_persegi[nilai1] == "X" dan nilai_persegi[nilai2] == "X" dan

square_values[nilai3] == "X"):

status_main = Salah

no_wins = Salah

jika(pemain_1_pilih == "X"):

print("Pemain 1 menang!")

kalau tidak:

print("Pemain 2 menang!")

elif (nilai_persegi[nilai1] == "O" dan nilai_persegi[nilai2] == "O" dan

square_values[nilai3] == "O"):

2
1
status_main = Salah

no_wins = Salah

jika(pemain_1_pilih == "O"):

print("Pemain 1 menang!")

kalau tidak:

print("Pemain 2 menang!")

kalau tidak:

lulus

def func_1(pemain, pilih):

jumlah_putaran global

status_main global

jika (no_wins == Benar):

jumlah_belokan = jumlah_belokan + 1

make_a_move(pemain, pilih)

check_untuk_a_win(0, 1, 2)

check_untuk_a_win(3, 4, 5)

check_untuk_a_win(6, 7, 8)

check_for_a_win(0, 3, 6)

check_untuk_a_win(1, 4, 7)

check_untuk_a_win(2, 5, 8)

check_untuk_a_win(0, 4, 8)

check_untuk_a_win(2, 4, 6)

if (number_of_turns == 9 dan status_main == True):

print("Ini seri :(")

status_main = Salah

2
2
sementara (status_main == Benar):

func_1(pemain_1, pemain_1_pilih)

func_1(player_2, player_2_pick) impor acak

square_values = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]

jumlah_belokan = 0

no_wins = Benar

print("Ayo main Tic-Tac-Toe!")

pemain_1_pilih = ""

pemain_2_pilih = ""

player_1 = input("Masukkan nama untuk pemain 1 dan tekan enter, biarkan


kosong untuk

keluar sebagai Pemain 1:")

player_2 = input("Masukkan nama untuk pemain 2 dan tekan enter, biarkan


kosong

keluar sebagai Pemain 2:")

#set nama pemain

jika (pemain_1 == "" atau pemain_2 == ""):

jika (pemain_1 == ""):

pemain_1 = "Pemain 1"

jika (pemain_2 == ""):

pemain_2 = "Pemain 2"

kalau tidak:

lulus

#menugaskan X atau O ke pemain

2
3
jika (acak.randint(1,2) == 1):

player_1_pick = input(player_1 + ", pilih X atau O:").upper()

jika (player_1_pick == "X"):

player_2_pick = "O"

kalau tidak:

pemain_2_pilih = "X"

kalau tidak:

player_2_pick = input(player_2 + ", pilih X atau O:").upper()

jika (player_2_pick == "X"):

player_1_pick = "O"

kalau tidak:

pemain_1_pilih = "X"

#membuat langkah def make_a_move(pemain, pemain_pilih):


mencetak("""

LOGO SEKOLAH....................................................................................................................5
SERTIFIKAT........................................................................................................................5
PENGAKUAN...............................................................................................................6
PERKENALAN.............................................................................................................7
TUJUAN PROYEK.......................................................................................................8
SISTEM YANG DIAJUKAN........................................................................................8
SIKLUS HIDUP PENGEMBANGAN SISTEM (SDLC )..........................................10
TAHAP SIKLUS HIDUP PENGEMBANGAN SISTEM..........................................10
FASE INISIASI...........................................................................................................10
Tujuan dari Tahap Inisiasi adalah untuk:.....................................................................11
TAHAP PENGEMBANGAN KONSEP SISTEM......................................................11
FASE PERENCANAAN.............................................................................................13
TAHAP ANALISIS KEBUTUHAN...........................................................................14
Tujuan dari fase ini adalah untuk:................................................................................14
FASE DESAIN............................................................................................................14
FASE PENGEMBANGAN.........................................................................................15
INTEGRASI DAN TAHAP PENGUJIAN..................................................................16
TAHAP IMPLEMENTASI..........................................................................................17
FASE OPERASI DAN PEMELIHARAAN................................................................17

2
4
KELUARAN................................................................................................................29
»>.....................................................................................................................................29
II.......................................................................................................................................29
II 41516............................................................................................................................29
II 71819............................................................................................................................29
II.......................................................................................................................................29
II 41516............................................................................................................................29
PENGUJIAN................................................................................................................30
METODE PENGUJIAN..............................................................................................30
PENGUJIAN KOTAK HITAM...................................................................................30
PENGUJIAN BERBASIS SPESIFIKASI...................................................................31
KEUNTUNGAN DAN KERUGIAN..........................................................................31
PENGUJIAN KOTAK PUTIH....................................................................................31
EVALUASI KELENGKAPAN KODE.......................................................................32
PERSYARATAN PERANGKAT KERAS DAN PERANGKAT LUNAK...............33

""" .format(nilai_persegi[0], nilai_persegi[1], nilai_persegi[2],

nilai_persegi[3], nilai_persegi[4], nilai_persegi[5], nilai_persegi[6],

nilai_persegi[7], nilai_persegi[8]))

status = Benar

sementara (status == Benar):

pilihan = input(pemain + " pilih kotak(" + player_pick + "): ")

mencoba:

int(pilihan)

jika (1 <= int(pilihan) <= 9):

if (nilai_persegi[int(pilihan)-1] != "X" dan nilai_persegi[int(pilihan)-1] !=

"O"):

square_values.hapus(pilihan)

square_values.insert(int(choice)-1, player_pick)

2
5
status = Salah

kalau tidak:

print("Kotak sudah diambil, pilih kotak lain.")

kalau tidak:

print("Masukkan bukan pilihan, pilih lagi.")

kecuali ValueError:

print("Masukkan bukan pilihan, pilih lagi.")

status_main = Benar

def check_for_a_win(nilai1, nilai2, nilai3):

status_main global

no_wins global

jika (nilai_persegi[nilai1] == "X" dan nilai_persegi[nilai2] == "X" dan

square_values[nilai3] == "X"):

status_main = Salah

no_wins = Salah

jika(pemain_1_pilih == "X"):

print("Pemain 1 menang!")

kalau tidak:

print("Pemain 2 menang!")

elif (nilai_persegi[nilai1] == "O" dan nilai_persegi[nilai2] == "O" dan

square_values[nilai3] == "O"):

status_main = Salah

no_wins = Salah

jika(pemain_1_pilih == "O"):

print("Pemain 1 menang!")

kalau tidak:

2
6
print("Pemain 2 menang!")

kalau tidak:

lulus

def func_1(pemain, pilih):

jumlah_putaran global

status_main global

jika (no_wins == Benar):

jumlah_belokan = jumlah_belokan + 1

make_a_move(pemain, pilih)

check_untuk_a_win(0, 1, 2)

check_untuk_a_win(3, 4, 5)

check_untuk_a_win(6, 7, 8)

check_untuk_a_win(0, 3, 6)

check_untuk_a_win(1, 4, 7)

check_untuk_a_win(2, 5, 8)

check_untuk_a_win(0, 4, 8)

check_untuk_a_win(2, 4, 6)

if (number_of_turns == 9 dan status_main == True):

print("Ini seri :(")

status_main = Salah

sementara (status_main == Benar):

func_1(pemain_1, pemain_1_pilih)

func_1(pemain_2, pemain_2_pilih)

2
7
KELUARAN

»>
Ayo main Tic-Tac-Toe!
Masukkan nama untuk pemain 1 dan tekan enter, kosongkan untuk keluar sebagai Pemain
1: xyz Masukkan nama untuk pemain 2 dan tekan enter, kosongkan untuk keluar sebagai
Pemain 2: abc xyz, pilih X atau O: 3

II
1|2|3

II 41516
II 71819
II
xyz pilih kotak(3) 1

II 3 | 2 | 3 II
II 41516

2
8
PENGUJIAN

Pengujian Perangkat Lunak adalah penyelidikan empiris yang dilakukan untuk


memberikan informasi kepada pemangku kepentingan tentang kualitas produk atau
layanan yang diuji [1] , sehubungan dengan konteks di mana ia dimaksudkan untuk
beroperasi. Pengujian Perangkat Lunak juga memberikan pandangan perangkat
lunak yang objektif dan independen untuk memungkinkan bisnis menghargai dan
memahami risiko pada implementasi perangkat lunak. Teknik pengujian mencakup,
namun tidak terbatas pada, proses menjalankan program atau aplikasi dengan tujuan
untuk menemukan bug perangkat lunak.
Dapat juga dikatakan sebagai proses memvalidasi dan memverifikasi bahwa
suatu program/aplikasi/produk perangkat lunak memenuhi persyaratan bisnis dan
teknis yang memandu desain dan pengembangannya, sehingga berfungsi seperti
yang diharapkan dan dapat diimplementasikan dengan karakteristik yang sama.
Pengujian Perangkat Lunak, tergantung pada metode pengujian yang digunakan,
dapat diimplementasikan kapan saja dalam proses pengembangan, namun sebagian
besar upaya pengujian dilakukan setelah persyaratan ditentukan dan proses
pengkodean selesai.

METODE PENGUJIAN
Metode pengujian perangkat lunak secara tradisional dibagi menjadi pengujian
kotak hitam dan pengujian kotak putih. Kedua pendekatan ini digunakan untuk
menggambarkan sudut pandang yang diambil oleh seorang insinyur penguji saat
merancang kasus uji.

PENGUJIAN KOTAK HITAM


Pengujian kotak hitam memperlakukan perangkat lunak sebagai "kotak hitam",
tanpa sepengetahuan implementasi internal. Metode pengujian black box meliputi:
partisi kesetaraan, analisis nilai batas, pengujian semua pasangan, pengujian fuzz,
pengujian berbasis model, matriks ketertelusuran, pengujian eksplorasi, dan
pengujian berbasis spesifikasi.

2
9
PENGUJIAN BERBASIS SPESIFIKASI

Pengujian berbasis spesifikasi bertujuan untuk menguji fungsionalitas


perangkat lunak sesuai dengan persyaratan yang berlaku.[16] Dengan demikian,
penguji memasukkan data ke dalam, dan hanya melihat keluaran dari, objek uji.
Tingkat pengujian ini biasanya membutuhkan kasus pengujian menyeluruh untuk
diberikan kepada penguji, yang kemudian dapat dengan mudah memverifikasi bahwa
untuk input yang diberikan, nilai output (atau perilaku), baik "adalah" atau "tidak"
sama dengan nilai yang diharapkan. ditentukan dalam kasus uji. Pengujian berbasis
spesifikasi diperlukan, tetapi tidak cukup untuk mencegah risiko tertentu

KEUNTUNGAN DAN KERUGIAN

Penguji kotak hitam tidak memiliki "ikatan" dengan kode, dan persepsi penguji
sangat sederhana: kode pasti memiliki bug. Menggunakan prinsip, "Tanya dan Anda
akan menerima," penguji kotak hitam menemukan bug di mana pemrogram tidak.
Namun, di sisi lain, pengujian kotak hitam dikatakan seperti "berjalan di labirin gelap
tanpa senter", karena penguji tidak mengetahui bagaimana sebenarnya perangkat
lunak yang diuji dibuat.
Itu sebabnya ada situasi ketika (1) penguji kotak hitam menulis banyak kasus
uji untuk memeriksa sesuatu yang dapat diuji hanya dengan satu kasus uji, dan/atau
(2) beberapa bagian backend tidak diuji sama sekali. Oleh karena itu, pengujian
kotak hitam memiliki keunggulan "pendapat yang tidak terafiliasi", di satu sisi, dan
kelemahan "penjelajahan buta", di sisi lain.

PENGUJIAN KOTAK PUTIH

Pengujian kotak putih, berbeda dengan pengujian kotak hitam, adalah saat
penguji memiliki akses ke struktur data internal dan algoritme (dan kode yang
mengimplementasikannya)

Jenis pengujian kotak putih: -


Jenis pengujian white box berikut ada:
4- pengujian api - Pengujian aplikasi menggunakan API Publik dan
Pribadi.

3
0
4- Cakupan kode - membuat tes untuk memenuhi beberapa kriteria
cakupan kode.
Sebagai contoh, perancang pengujian dapat membuat pengujian untuk
membuat semua pernyataan dalam program dijalankan setidaknya satu kali.
4- metode injeksi kesalahan.

4- metode pengujian mutasi.


4- pengujian statis - Pengujian kotak putih mencakup semua pengujian
statis.

EVALUASI KELENGKAPAN KODE

Metode pengujian white box juga dapat digunakan untuk mengevaluasi


kelengkapan rangkaian pengujian yang telah dibuat dengan metode pengujian black
box. Hal ini memungkinkan tim perangkat lunak untuk memeriksa bagian sistem yang
jarang diuji dan memastikan bahwa titik fungsi yang paling penting telah diuji.

Dua bentuk umum dari cakupan kode adalah:


4- Cakupan Fungsi: Laporan mana tentang fungsi yang dijalankan dan
4- Cakupan Pernyataan: Yang melaporkan jumlah baris yang dieksekusi
untuk menyelesaikan tes.
Keduanya mengembalikan metrik cakupan, diukur sebagai persentase

3
1
PERSYARATAN PERANGKAT KERAS DAN PERANGKAT LUNAK

I. SISTEM OPERASI : WINDOWS 7 DAN DI ATAS PENTIUM(APA

II. PROSESOR : PUN) ATAU AMD ATHALON(3800+- 4200+

DUAL CORE) 1.845 ATAU 915.995 UNTUK

III. MOTHERBOARD PENTIUM 0R MSI K9MM-V VIA


:
K8M800+8237R PLUS CHIPSET UNTUK

AMD ATHALON 512MB+

SATA 40 GB ATAU DI ATAS


IV. RAM
: (Jika diperlukan pencadangan)

V. Hard disk : (Jika diperlukan Cadangan)

VI. Kombo multi-drive CD/DVD


r/w:

VII. FLOPPY DRIVE 1,44 MB :


(jika diperlukan cetak – [Hard copy])
VIII. MONITOR 14.1 atau 15 -17
inci

IX. Papan tombol dan mouse

X. Pencetak :

PERSYARATAN PERANGKAT
LUNAK:

3
2
BIBLIOGRAFI

1. Ilmu Komputer Dengan Python - Kelas XI Oleh : Sumita Arora


2. Laporan Proyek Sistem Manajemen Bank Darah (BBMS)
Oleh : Praveen M Jigajinni
3. Situs web: https://www.w3resource.com
4. https://en.wikipedia.org/wiki/E_(mathematical_constant )

***

3
3

You might also like