Anda di halaman 1dari 45

KATA PENGANTAR

Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa karena berkat rahmat dan
hidayah-Nya kami dapat menyelesaikan Laporan Praktikum Algoritma dan Pemrograman
dengan baik dan lancar. Laporan ini kami susun sebagai tugas akhir setelah mengikuti
Praktikum Algoritma dan Pemrograman Semester Genap Tahun Ajaran 2022/2023.
Ucapan terima kasih kami sampaikan kepada: 
1. Bapak Sugiono, ST., MT., Ph.D. selaku Ketua Departemen Teknik Industri Fakultas
Teknik Universitas Brawijaya. 
2. Bapak Ir. Lalu Tri Wijaya Nata Kusuma, ST., MT., Ph.D. selaku Ketua Jurusan
Sarjana Teknik Industri Fakultas Teknik Universitas Brawijaya. 
3. Bapak Angga Fanani, ST., MT., selaku Kepala Laboratorium Optimasi, Sistem
Informasi, dan Pendukung Keputusan Departemen Teknik Industri Fakultas Teknik
Universitas Brawijaya. 
4. Bapak Angga Fanani, ST., MT., selaku Dosen Pembimbing Praktikum Algoritma dan
Pemrograman Semester Genap Tahun Ajaran 2022/2023 Departemen Teknik Industri
Fakultas Teknik Universitas Brawijaya. 
5. Asisten Laboratorium Optimasi, Sistem Informasi, dan Pendukung Keputusan
Departemen Teknik Industri Fakultas Teknik Universitas Brawijaya. 
Penulis menyadari bahwa masih banyak kekurangan dan kesalahan dalam penyusunan
laporan praktikum ini. Oleh karena itu, kritik dan saran sangat diharapkan demi kelancaran
pada penyusunan laporan praktikum berikutnya. Semoga laporan praktikum ini dapat
bermanfaat bagi pembaca. 

Malang, ………… 2023

Penulis
DAFTAR ISI
KATA PENGANTAR..........................................................................................................1
DAFTAR GAMBAR............................................................................................................5
DAFTAR LAMPIRAN........................................................................................................7
BAB I GAMBARAN SISTEM............................................................................................9
1.1 DESKRIPSI STUDI KASUS..................................................................................9
1.2 TUJUAN................................................................................................................10
1.3 MANFAAT...........................................................................................................10
1.4 BATASAN............................................................................................................11
1.5 ASUMSI................................................................................................................11
BAB II RANCANGAN PROGRAM................................................................................13
2.1. ALGORITMA.......................................................................................................13
2.2. FLOWCHART........................................................................................................14
2.3. RANCANGAN PROGRAM.................................................................................15
BAB III DESAIN PROGRAM..........................................................................................18
3.1 LISTING CODE PROGRAM................................................................................18
3.1.1 DESICION......................................................................................................24
3.1.2 LOOPING......................................................................................................27
3.1.3 MODULE dan LIBRARY................................................................................28
3.2 OUTPUT PROGRAM...........................................................................................29
3.2.1 COMMAND LINE INTERFACE.................................................................30
3.2.2 GRAPHICAL USER INTERFACE...............................................................33
3.3 TESTING..............................................................................................................37
3.3.1 VERIVIKASI.................................................................................................38
3.3.2 VALIDASI.....................................................................................................40
Gambar 3. 33 Output dari Sistem yang akan divalidasi.................................................41
3.4 ANALISIS RANCANGAN SISTEM...................................................................42
BAB IV................................................................................................................................45
PENUTUP...........................................................................................................................45
4.1 KESIMPULAN..........................................................................................................45
4.2 SARAN......................................................................................................................45
DAFTAR PUSTAKA.........................................................................................................47
LAMPIRAN........................................................................................................................48

2
DAFTAR GAMBA
R
Gambar 2. 1 Flowchart Penentuan Komposisi Pencampuran Warna untuk Produksi Cat
PT Losik Paint..................................................................................................................11
Gambar 2. 2 Decomposition Tree Diagram...................................................................13
Gambar 3. 1 Flowchart Sistem Login............................................................................14
Gambar 3. 2 Flowchart menampilkan tabel warna........................................................15
Gambar 3. 3 Flowchart input nama baru........................................................................16
Gambar 3. 4 Input warna yang dihitung.........................................................................17
Gambar 3. 5 Flowchart menghitung komposisi warna..................................................18
Gambar 3. 6 Menampilkan grafik lingkaran proporsi....................................................19
Gambar 3. 7 Flowchart menampilkan daftar komposisi warna.....................................20
Gambar 3. 8 Flowchart untuk decision pada proses login.............................................21
Gambar 3. 9 Flowchart untuk decision pada tambah warna..........................................22
Gambar 3. 10 Flowchart untuk decision validasi komposisi warna...............................23
Gambar 3. 11 Flowchart untuk penggunaaan module dan library.................................25
Gambar 3. 12 Output Login Berhasil..............................................................................26
Gambar 3. 13 Output Login Gagal.................................................................................26
Gambar 3. 14 Output Halaman Utama...........................................................................27
Gambar 3. 15 Output Hitung Komposisi Warna............................................................28
Gambar 3. 16 Output Tampilan Grafik..........................................................................28
Gambar 3. 17 Output Daftar Warna Setelah Tambah Warna Baru................................29
Gambar 3. 18 Output Keluar Program............................................................................29
Gambar 3. 19 Output Halaman Login............................................................................30
Gambar 3. 20 Output Login Gagal.................................................................................30
Gambar 3. 21 Output Halaman Utama...........................................................................31
Gambar 3. 22 Output Memasukkan Warna Baru Beserta Komposisinya......................31
Gambar 3. 23 Output Notifikasi Setelah Warna Berhasil DItambahkan........................32
Gambar 3. 24 Output Tabel Daftar Warna Setelah Ada Warna Baru............................32
Gambar 3. 25 Output Memilih Warna dan Ukuran........................................................32
Gambar 3. 26 Output Hasil Perhitungan Komposisi Warna..........................................33
Gambar 3. 27 Output Grafik Presentase Warna.............................................................33
Gambar 3. 28 Output Tombol Keluar Program..............................................................33
Gambar 3. 29 Flowchart Login.......................................................................................34
Gambar 3. 30 Algoritma Program..................................................................................35
Gambar 3. 31 Output Login Error..................................................................................36
Gambar 3. 32 Output Login Berhasil..............................................................................36

3
Gambar 3. 33 Output dari Sistem yang akan divalidasi.................................................37
DAFTAR TABE
L
Tabel 1.1 Komposisi Pencampuran Warna...........................................................................6
Tabel 2. 1 Kebutuhan untuk Program..................................................................................13
Tabel 3. 1 Komposisi Warna...............................................................................................38

4
DAFTAR LAMPIRAN
Lampiran 1. Flowchart Program Sistem Penentuan Komposisi Pencampuran Warna untuk
Produksi Cat pada LOSIK Paint

Lampiran 2. Listing Code Program Sistem Penentuan Komposisi Pencampuran Warna


untuk Produksi Cat pada LOSIK Paint

Lampiran 3. Kartu Kendali Deadline

Lampiran 4. Kartu Kendali Maju Dosen

Lampiran 5. Kartu Kendali Asistensi

Lampiran 6. Kartu Kendali Praktikum

5
BAB I
GAMBARAN SISTEM

Pada bab 1 akan dibahas mengenai deskripsi dari studi kasus yang diberikan. Selain itu
juga akan dibahas mengenai tujuan pembuatan program, manfaat pembuatan program,
batasan pembuatan program, beserta asumsi yang mungkin terjadi saat pembuatan
program.

1.1 DESKRIPSI STUDI KASUS


PT Losik Paint adalah perusahaan yang memproduksi cat. Berbagai macam warna cat
yang diproduksi adalah pencampuran dari warna primer. PT Losik Paint menjual dua
ukuran cat yaitu ukuran 2,5 liter dan 5 liter. Untuk menghasilkan warna yang diinginkan,
perlu diketahui berapa militer dari setiap warna yang harus dicampurkan.
Tabel 1.1 Komposisi Pencampuran Warna

Komposisi Warna (%)


Warna
Kuning Biru Merah Putih
25
Dark Olive Green 25 25 25
Spring Green 50 50 0 0
Light Turquoise 0 12,5 0 87,5
Purple 0 50 50 0
Rose 0 0 12,5 87,5
Light Orange 75 0 25 0
… … … … …

Proses produksi cat di PT Losik Paint sudah dilakukan dengan mesin. Namun, untuk
pendataan warna masih dilakukan secara manual oleh product analyst. Diperlukan
program yang dapat membantu product analyst melakukan pengecekan komposisi
pencampuran warna dengan cepat untuk menghasilkan warna yang sesuai berdasarkan
daftar warna yang tersedia. Hasil dari program tersebut berupa warna yang dibutuhkan dan
komposisi setiap warna. Program yang dibuat juga dapat menambahkan warna baru dan
menampilkan grafik lingkaran yang menunjukkan proporsi tiap warna yang dipilih. Sistem
login dibutuhkan untuk pengaksesan program karena mencakup data perusahaan. Untuk
data input yang diperlukan di program ini adalah warna, ukuran cat, serta persentasi
komposisi warna. Output yang dihasilkan berupa komposisi warna yang dibutuhkan (ml),
hasil warna, beserta grafik lingkaran.

6
Berdasarkan informasi di atas, program yang digunakan dalam produksi cat di PT
Losik Paint memiliki beberapa ketentuan yaitu.
1. Proses login hanya bisa dilakukan tiga kali, jika lebih dari tiga kali program akan
diakhiri.
2. Proses input meliputi memasukkan nama warna cat baru, memasukkan persentase
komposisi warna baru, memasukkan nama warna yang akan dihitung, dan memilih
ukuran cat.
3. Proses dalam program meliputi menambahkan warna baru dan menghitung komposisi
warna.
4. Proses output meliputi menampilkan komposisi warna yang dibutuhkan, menampilkan
hasil warna, dan menampilkan grafik lingkaran proporsi setiap warna.

1.2 TUJUAN
Tujuan merupakan pengidentifikasian atau penggambaran suatu konsep untuk
menjelaskan atau memprediksi suatu situasi atau solusi untuk suatu situasi yang
mengindikasikan suatu jenis studi yang akan dilakukan (Beckingham, 1974). Terdapat
beberapa tujuan dibuatnya program penentuan komposisi pencampuran warna untuk
produksi cat pada PT LOSIK Paint, yaitu.
1. Membuat algoritma deskriptif dan flowchart dari program penentuan komposisi
pencampuran warna untuk produksi cat PT LOSIK Paint studi kayang sudah tertera.
2. Membuat suatu program penentuan komposisi pencampuran warna untuk produksi cat
PT LOSIK Paint atau pengaplikasian dari sebuah algoritma deskriptif dan flowchart
yang telah dibuat untuk menerjemahkan kepada user sehingga mudah digunakan.
3. Memvisualisasikan diagram lingkaran untuk mengetahui proporsi komposisi warna

1.3 MANFAAT
Manfaat adalah suatu hal yang dilakukan untuk mencapai suatu kegunaan atau
keuntungan. Manfaat dari sistem yang dibuat adalah untuk memudahkan pengecekan
komposisi pencampuran warna secara manual. Terdapat beberapa manfaat dibuatnya
program penentuan komposisi pencampuran warna untuk produksi cat pada PT LOSIK
Paint, yaitu.
1. Mampu membuat algoritma deskriptif dan flowchart dari dari program penentuan
komposisi pencampuran warna untuk produksi cat PT LOSIK Paint.

7
2. Mampu membuat sebuah program atau pengaplikasian dari suatu algoritma dan
flowchart.
3. Dapat menampilkan diagram lingkaran untuk mengetahui proporsi komposisi warna.

1.4 BATASAN
Pembatasan suatu masalah digunakan untuk menghindari adanya penyimpangan
maupun pelebaran pokok masalah agar penelitian tersebut lebih terarah dan memudahkan
dalam pembahasan sehingga tujuan penelitian akan tercapai. Beberapa batasan masalah
dalam program penentuan komposisi pencampuran warna untuk produksi cat PT Losik
Paint sebagai berikut.
1. Warna baru hanya dapat dihasilkan dengan komposisi warna primer yang disediakan.
2. Ukuran cat yang dihasilkan setelah membuat dan mencampurkan warna hanya terdiri
dari dua ukuran yaitu 2,5 L dan 5 L.

1.5 ASUMSI
Asumsi atau anggapan dasar ini merupakan suatu gambaran sangkaan, perkiraan, satu
pendapat atau kesimpulan sementara, atau suatu teori sementara yang belum dibuktikan.
Menurut pendapat Winarko Surakhman sebagaimana dikutip oleh Suharsimi Arikunto
dalam buku Prosedur Penelitian Suatu Pendekatan Praktik, bahwa asumsi atau anggapan
dasar adalah sebuah titik tolak pemikiran yang kebenarannya diterima oleh penyelidik.
Berdasarkan dari pengertian asumsi di atas, maka berikut asumsi yang dapat
dikemukakan berdasarkan pembuatan program PT LOSIK Paint.
1. Data yang digunakan pada program PT Losik Paint sudah cukup untuk menjalankan
seluruh rangkaian program sehingga menghasilkan output yang diinginkan.
2. Jumlah mililiter masing-masing komposisi warna dipengaruhi oleh persentase
komposisi warna berdasarkan data yang telah dimasukkan kemudian dikonversi
menjadi kebutuhan mililiter cat yang diperlukan dalam bentuk keluaran program.

8
(halaman ini sengaja dikosongkan)

9
BAB II
RANCANGAN PROGRAM

Pada bab 2 ini akan dibahas mengenai algoritma dan flowchart yang dibuat
berdasarkan studi kasus yang telah diberikan. Selain itu, juga akan dibahas mengenai
rancangan program yang telah dibuat beserta fungsinya.

2.1. ALGORITMA
Algoritma merupakan urutan langkah-langkah terperinci yang logis dan dibutuhkan
untuk menyelesaikan sebuah permasalahan (Rahman, 2016). Algoritma memiliki awal dan
akhir, serta harus berhenti setelah mengerjakan serangkaian tugas. Setiap Langkah harus
didefinisikan secara tepat sehingga tidak memiliki arti ganda. Dalam menuliskan
algoritma, terdapat 3 cara, yaitu penulisan algoritma menggunakan bahasa, menggunakan
grafik yaitu flowchart, dan juga menggunakan bahasa kode semu tertentu yaitu
pseudocode.
Tidak semua urutan langkah penyelesaian yang logis dapat disebut sebagai algoritma.
Menurut Donald E. Knuth (1998), Algoritma mempunyai lima ciri penting yang meliputi:
1. Input (Masukan), suatu algoritma harus memiliki nol atau lebih input.
2. Output (Keluaran), suatu algoritma harus memiliki satu atau lebih output.
3. Finiteness (Keterbatasan), algoritma harus terjamin dapat berhenti setelah melakukan
sejumlah langkah proses.
4. Definiteness (Kepastian), Setiap baris algoritma harus pasti dan tidak menimbulkan
makna ganda (ambiguous), sehingga memberikan output yang sesuai dengan yang
diharapkan oleh pengguna
5. Effectiveness (Efektivitas), Setiap algoritma harus efektif, langkah-langkah algoritma
dikerjakan dalam waktu yang wajar.
Berikut merupakan hasil algoritma berdasarkan studi kasus yang kami dapatkan.

Langkah 1: Mulai.
Langkah 2: Masukkan username dan password.
Langkah 3: Apakah username dan password sudah sesuai? Jika iya lanjut ke langkah 7,
jika tidak lanjut ke langkah 4.

10
Langkah 4: Apakah username dan password yang dimasukkan sudah salah sebanyak 3
kali? Jika iya lanjut ke langkah 5, jika tidak lanjut ke langkah 6.
Langkah 5: Menampilkan “Terminated” kemudian lanjut ke langkah 18.
Langkah 6: Menampilkan “Username atau Password Salah” kemudian kembali ke
langkah 2.
Langkah 7: Menampilkan tabel warna yang berisi daftar warna yang tersedia serta
komposisi dari setiap warna.
Langkah 8: Apakah anda ingin menambahkan warna baru untuk produksi cat? Jika iya
lanjut ke langkah 9, jika tidak lanjut ke langkah 13.
Langkah 9: Masukkan nama warna baru.
Langkah 10: Memasukkan komposisi warna baru yang diperlukan.
Langkah 11: Menampilkan data warna baru beserta komposisinya.
Langkah 12: Apakah anda ingin kembali menambahkan warna baru? Jika iya lanjut ke
langkah 9, jika tidak lanjut ke langkah 13.
Langkah 13: Memasukkan warna yang ingin dipilih untuk proses penentuan komposisi
pencampuran cat.
Langkah 14: Memilih ukuran cat yang telah disediakan (2,5 L dan 5 L).
Langkah 15: Menghitung jumlah mililiter dari setiap warna primer yang dibutuhkan
untuk menghasilkan cat dengan ukuran yang dipilih menggunakan rumus
komposisi warna= presentase warna primer ×ukuran cat
Langkah 16: Menampilkan daftar warna yang dipilih beserta komposisinya.
Langkah 17: Menampilkan grafik lingkaran proporsi komposisi warna yang dipilih.
Langkah 18: Apakah anda ingin menentukan komposisi pencampuran warna lagi? Jika
iya lanjut ke langkah 7, jika tidak lanjut ke langkah 19.
Langkah 19: Selesai.

2.2. FLOWCHART
Flowchart adalah serangkaian simbol gambar yang terhubung dan menunjukkan aliran
dari suatu proses terhadap data yang terlibat didalamnya (Suarga, 2003:6). Flowchart
membantu analis dan programmer untuk memecahkan masalah ke dalam segmen-segmen
yang lebih kecil dan membantu dalam menganalisis alternatif-alternatif lain dalam
pengoperasian. Flowchart digunakan untuk menggambarkan prosedur sistem, baik sistem
berjalan ataupun sistem yang diusulkan. Menurut Rachmat (2010), pada saat akan

11
menggambar suatu flowchart, analisis sistem atau programmer dapat mengikuti pedoman
sebagai berikut.
1. Flowchart sebaiknya digambar dari atas ke bawah dan mulai dari bagian kiri dari
suatu halaman.
2. Kegiatan di dalam flowchart harus dijelaskan dengan jelas.
3. Harus ditunjukkan dari mana kegiatan akan dimulai dan di mana akan berakhirnya.
4. Masing-masing kegiatan dalam flowchart sebaiknya menggunakan suatu kata yang
mewakili suatu pekerjaan.
5. Masing-masing kegiatan di dalam flowchart harus di dalam urutan yang tepat.
6. Kegiatan yang terpotong dan akan dilanjutkan di tempat lain harus ditunjukkan dengan
jelas menggunakan simbol penghubung.
Berikut ini merupakan flowchart hasil dari penentuan komposisi pencampuran warna
untuk produksi cat PT Losik Paint yang kami dapatkan.

Gambar 2. 1 Flowchart Penentuan Komposisi Pencampuran Warna untuk Produksi Cat PT Losik Paint

2.3. RANCANGAN PROGRAM


Menurut setiawan (2015:17) Program yaitu rancangan mengenai asas serta usaha
(dalam ketatanegaraan, perekonomian, dsb) yang akan dijalankan. Sedangkan program
komputer yaitu urutan perintah yang diberikan pada komputer untuk membuat fungsi atau

12
tugas tertentu. Setelah menyusun algoritma dan flowchart, maka langkah selanjutnya
adalah melakukan pembuatan program yang disesuaikan dengan algoritma dan flowchart
yang telah dibuat. Program ini nantinya akan menerjemahkan bahasa pemrograman yang
telah disusun kepada manusia (user) sehingga mudah digunakan.
Berikut ini merupakan tabel kebutuhan program dari studi kasus yang kami dapatkan.

Tabel 2. 1 Kebutuhan untuk Program


No Kebutuhan Fungsi
1. Sistem Login Memberikan akses masuk kepada user
dengan menggunakan username dan
password tertentu.
2. Menampilkan tabel warna Memberikan informasi kepada user terkait
daftar warna primer yang telah
disediakan beserta dengan
komposisinya dalam bentuk tabel
3. Input warna baru Memasukkan data input berupa nama warna
baru yang ingin diproduksi beserta
komposisinya
5. Input warna yang dihitung Memasukkan input data warna yang ingin dipilih
untuk proses penentuan komposisi
pencampuran cat
6. Penghitungan komposisi warna Melakukan penghitungan untuk menghasilkan
komposisi warna akhir dengan presentasi
warna primer dikalikan dengan ukuran cat
yang dipilih
7. Menampilkan grafik lingkaran Menampilkan output berupa grafik lingkaran dari
proporsi hasil perhitungan untuk menampilkan
perbandingan warna yang dibutuhkan
8. Menampilkan daftar komposisi Menampilkan daftar komposisi masing-masing
warna warna sesuai persentase komposisi warna
primer dalam bentuk mililiter kepada user

Selain itu, pada tahap perancangan program kami juga menentukan decomposition tree
diagram. Decomposition tree diagram yaitu diagram pohon yang menggambarkan hierarki
dari sistem informasi yang diurai menjadi proses-proses bisnis yang lebih rinci di level
lebih rendah (Rahman, 2016). Decomposition tree diagram dapat mengetahui fungsi bisnis
serta dapat mempermudah dan penentuan proses-proses bisnis dalam suatu sistem. Level
paling tinggi berisikan sistem yang akan diuraikan proses bisnisnya dan dilanjutkan hingga
level paling bawah dalam sistem tersebut. Berikut adalah decomposition tree diagram yang
menunjukkan hasil decomposistion tree diagram dari studi kasus yang kami dapatkan.

13
0
Penentuan Komposisi
Warna PT Losik Paint

1.
2. 3.
Proses pemasukkan
Proses dalam Program Menampilkan Output
input

3.1
1.1 2.1
Menampilkan
Memasukkan nama Menambahkan warna
komposisi warna yang
warna baru baru
dibutuhkan

1.2
2.2 3.2
Memasukkan
Menghitung Komposisi Menampilkan hasil
persentase komposisi
warna warna
warna baru

1.3 3.3
Memasukkan nama Menampilkan grafik
warna yang akan lingkaran proporsi tiap
dihitung warna

1.4
Memilih ukuran cat

Gambar 2. 2 Decomposition Tree Diagram

14
BAB III
DESAIN PROGRAM

Pada bab 3 akan dibahas mengenai listing code program yang dibuat dari studi kasus
yang telah diberikan. Selain itu juga, akan dibahas mengenai output yang dihasilkan
program, testing yang dibagi menjadi proses verifikasi dan validasi, serta akan dibahas
pula mengenai analisis rancangan program.

3.1 LISTING CODE PROGRAM


Source code adalah teks yang ditulis oleh programmer menggunakan bahasa
pemrograman. Ini adalah kode sumber yang dapat dibaca oleh manusia dan kemudian
dikompilasi atau diinterpretasikan menjadi program yang dapat dijalankan oleh komputer
(Steve McConnel, 1993).
Berikut ini merupakan flowchart pada proses login.

Gambar 3. 1 Flowchart Sistem Login

Berikut ini merupakan contoh listing code pada sistem login.


def submit_login():
        username = username_entry.get()
        password = password_entry.get()

        if username in userpass and userpass[username] == password:


            login_window.destroy()
            print("Login Berhasil")
            window.destroy()

15
            menu_utama()
        else:
            login_error_label.config(text="Username atau password
salah.")

    enter_button = tk.Button(login_window, text="Login",


command=submit_login)
    enter_button.pack()

    login_window.pack(pady=10)

    window.mainloop()

userpass = {"123": "123", "admin": "123"}

welcome_page(userpass)

Kode tersebut merupakan sebuah fungsi yang dijalankan ketika ingin menjalankan
proses login. Ketika dijalankan kode ini akan meminta input dari user, yaitu username dan
password. Jika user memasukkan input-an yang sesuai maka akan ditampilkan, “ Selamat
datang di PT LOSIK Paint!” dan akan meneruskan ke proses selanjutnya , jika tidak user
akan diminta untuk memasukkan input-an kembali.
Berikut ini merupakan flowchart untuk menampilkan tabel warna.

Gambar 3. 2 Flowchart menampilkan tabel warna

Berikut ini merupakan contoh listing code untuk menampilkan tabel warna.
def tampilkan_tabel2(frame):
    judul_tabel = tk.Label(frame, text="TABEL DAFTAR KOMPOSISI CAT
TERSEDIA", font=("Arial", 14, "bold"))

16
    judul_tabel.grid(row=0, column=0, columnspan=5, pady=10)

    tabel_colors = []
    tabel_colors.append(["Warna", "Kuning (%)", "Biru (%)", "Merah (%)",
"Putih (%)"])
    for key in colors:
        color_name = colors[key]["nama"]
        color_comp = colors[key]["komposisi"]
        putih_comp = color_comp[3] if len(color_comp) > 3 else color_comp[-
1]
        tabel_colors.append([color_name, color_comp[0],  color_comp[1],
color_comp[2], putih_comp,])
    for row_idx in range(len(tabel_colors)):
        for col_idx in range(len(tabel_colors[0])):
            label_tabel = tk.Label(frame, text=tabel_colors[row_idx]
[col_idx], relief="ridge", width=20, justify="left")

Kode tersebut adalah fungsi bernama tampilkan_tabel2(frame) yang dipanggil ketika


ingin menampilkan tabel warna yang tersedia kepada user. Untuk menampilkan data pada
tabel, dilakukan iterasi kepada setiap colors yang sudah didefinisikan terlebih dahulu
dengan melakukan looping pada for key in colors.
Berikut ini merupakan contoh flowchart untuk input warna baru.   

Gambar 3. 3 Flowchart input nama baru

Berikut ini merupakan contoh listing code untuk input warna baru.   
def tambah_warna():
    global warna_dropdown
    if not entry_nama_warna.get() or not
all(entry_komposisi_warna[primer].get() for primer in colors["dark olive
green"]["primer"]):

17
        messagebox.showerror("Error", "Silahkan lengkapi semua input
untuk menambahkan warna")
        return
    if not validasi_komposisi():
        return
 
    nama_warna = entry_nama_warna.get().title()
    primers = colors["dark olive green"]["primer"]
    komposisi = []
    for primer in primers:
        komposisi_warna = float(entry_komposisi_warna[primer].get())
        komposisi.append(komposisi_warna)

Kode tersebut adalah fungsi dengan nama tambah_warna(), yang digunakan ketika
ingin memasukkan warna baru. Fungsi ini akan meminta user untuk memasukkan nama
warna baru serta komposisi masing-masing warna primer pada warna tersebut. Setelah itu,
warna baru tersebut akan dimasukkan ke dalam dictionary colors dan akan ditambahkan ke
tabel warna yang telah tersedia.
Berikut ini merupakan flowchart untuk meng-input warna yang dihitung.

Gambar 3. 4 Input warna yang dihitung

Berikut ini merupakan contoh listing code untuk meng-input warna yang dihitung.
    warna_label = tk.Label(sub_frame, text="Pilihan Warna:")
    warna_label.grid(row=2, column=0, padx=5, pady=5, sticky="W")
    warna_input = tk.StringVar(sub_frame)
    warna_input.set("")
    warna_dropdown = tk.OptionMenu(sub_frame, warna_input, *colors.keys())
    warna_dropdown.grid(row=2, column=1, padx=5, pady=5, sticky="e")

Kode ini dijalankan untuk meminta nama warna yang telah tersedia kepada user. Saat
dijalankan, kode ini akan memperlihatkan warna yang telah tersedia di tabel warna, lalu
user akan memilih salah satu darinya. Selanjutnya, user juga akan diminta untuk memilih
ukuran warna yang diinginkan. Jika input-an user sesuai maka akan lanjut ke tahap
selanjutnya, jika tidak akan ditampilkan error notice.
Berikut ini merupakan flowchart untuk menghitung komposisi warna.

18
Gambar 3. 5 Flowchart menghitung komposisi warna

Berikut ini merupakan contoh listing code pada perhitungan komposisi warna.
total_komposisi = sum(komposisi)
        faktor = sizes[ukuran] / total_komposisi
        jumlah_warna = [round(k * faktor) for k in komposisi]
       
       
        jumlah_total = sum(jumlah_warna)
        faktor_koreksi = sizes[ukuran] / jumlah_total
        jumlah_warna = [round(j * faktor_koreksi) for j in jumlah_warna]
       
        persentase = [round((j/sizes[ukuran])*100, 2) for j in
jumlah_warna]

Kode tersebut adalah proses menghitung komposisi masing-masing warna primer


berdasarkan ukuran cat yang diminta. Prosesnya dilakukan dengan menjumlah semua
elemen di dalam list “komposisi”, lalu membagi nilai “sizes” dengan “total
_komposisi”. Lalu selanjutnya akan melakukan iterasi pada setiap elemen “k” dan
mengalikannya dengan “faktor”. Selanjutnya menjumlahkan semua elemen dalam list
`jumlah_warna` dan hasilnya disimpan dalam variabel “jumlah_total”. Kode selanjutnya
melakukan iterasi pada setiap elemen “j” dalam list “jumlah_warna”, kemudian
mengalikan “j” dengan “faktor_koreksi” dan membulatkannya menjadi bilangan bulat dan
disimpan kembali dalam list “jumlah_warna”, lalu melakukan iterasi pada setiap elemen
“j” dalam list “jumlah_warna”, kemudian menghitung persentase dengan membagi “j”
dengan “sizes[ukuran]”, kemudian mengalikan dengan 100, dan membulatkannya menjadi
2 angka desimal. Hasilnya disimpan dalam list “persentase”.
Berikut ini merupakan flowchart menampilkan grafik lingkaran proporsi.

19
Gambar 3. 6 Menampilkan grafik lingkaran proporsi

Berikut ini merupakan contoh listing code penampilan grafik lingkaran proporsi.
    def hitung_komposisi_dan_tampilkan_grafik():
        root = tk.Tk()
        global toplevel
        toplevel = tk.Toplevel(root)
        toplevel.title("Grafik Komposisi Warna")
        toplevel.geometry("500x500")

        hitung_komposisi_only()
        tampilkan_grafikni(warna_input.get(), ukuran_input.get())

Kode tersebut merupakan sebuah fungsi yang bernama


hitung_komposisi_dan_tampilkan_grafik(). Fungsi ini dipanggil ketika ingin menampilkan
grafik warna sesuai dengan warna dan komposisi warna primer yang telah dipilih oleh
user.
Berikut ini merupakan flowchart penampilan daftar komposisi warna.

Gambar 3. 7 Flowchart menampilkan daftar komposisi warna

20
Berikut ini merupakan contoh listing code pada penampilan daftar komposisi warna.
        filtered_labels = hitung_komposisi(warna_input.get(),
ukuran_input.get(), result_label)
        if filtered_labels is not None:
            nama = warna_input.get()
            ukuran = ukuran_input.get()
            primer, jumlah_warna = filtered_labels
            result_label.configure(text=f"Jumlah komposisi cat {nama} yang
dibutuhkan untuk kebutuhan {ukuran} adalah:", font=("Arial", 12),
bg="white")
            result_label.configure(justify="left", anchor="w")
            for p, j in zip(primer, jumlah_warna):
                result_label.configure(text=result_label.cget("text") + f"\
n- {p.capitalize()} = {j} ml", bg="white")

Kode tersebut dijalankan untuk menampilkan daftar komposisi masing-masing warna


sesuai persentase komposisi warna primer dalam bentuk mililiter kepada user.

3.1.1 DESICION
Pengambilan keputusan adalah pemilihan alternatif perilaku (kelakuan) tertentu dari
dua atau lebih alternatif yang ada (George R. Terry).
Berikut ini merupakan contoh listing code decision di dalam program hitung
komposisi warna.
1. Login, pada proses login dilakukan pengecekan kondisi dengan menggunakan
statement if. Pengecekan kondisi ini bertujuan untuk memeriksa apakah username
yang dimasukkan oleh pengguna terdapat dalam variabel userpass, dan apakah
password yang dimasukkan sesuai dengan password yang terkait dengan username
tersebut dalam variabel userpass. Jika kondisi terpenuhi, langkah-langkah ke menu
utama akan dijalankan. Jika tidak, akan menampilkan pesan "Username dan Password
salah". Berikut ini merupakan flowchart dan listing code untuk menjalankan proses
login pada program.

21
Gambar 3. 8 Flowchart untuk decision pada proses login

Kode berikut merupakan fungsi yang dijalankan untuk proses login.


  def submit_login():
        username = username_entry.get()
        password = password_entry.get()

        if username in userpass and userpass[username] == password:


            login_window.destroy()
            print("Login Berhasil")
            window.destroy()
            menu_utama()
        else:
            login_error_label.config(text="Username atau password salah.")

2. Tambah warna, pada fungsi tambah warna memiliki dua elemen decision penting.
Pertama, program memeriksa apakah masukan nama warna tidak diisi atau ada entri
kosong dalam komposisi warna. Jika kondisi tersebut terpenuhi, program
menampilkan pesan error dan menghentikan eksekusi. Kedua, program memeriksa
hasil dari fungsi validasi komposisi. Jika hasilnya adalah false, program langsung
berhenti eksekusi. Dengan demikian, elemen-elemen decision ini membantu program
dalam mengambil keputusan berdasarkan kondisi input yang diberikan oleh pengguna.
Berikut ini merupakan flowchart dan listing code untuk menjalankan proses tambah
warna pada program.

22
Gambar 3. 9 Flowchart untuk decision pada tambah warna

Kode berikut adalah fungsi yang dipanggil ketika meminta input-an dari user.
def tambah_warna():
    global warna_dropdown
    # error handling revisi
    if not entry_nama_warna.get() or not
all(entry_komposisi_warna[primer].get() for primer in colors["dark
olive green"]["primer"]):
        messagebox.showerror("Error", "Silahkan lengkapi semua input
untuk menambahkan warna")
        return
    if not validasi_komposisi():
        Return

3. Validasi komposisi warna, pada proses tambah warna terdapat sebuah fungsi validasi
komposisi warna baru yang ingin ditambahkan. Pada fungsi validasi komposisi,
terdapat satu elemen decision yang memiliki kegunaan untuk memastikan bahwa total
komposisi warna yang dimasukkan oleh pengguna benar-benar mencapai 100%. Jika
total komposisi warna tidak sesuai, pesan error akan ditampilkan untuk memberi tahu
pengguna tentang kesalahan tersebut. Dengan menggunakan elemen decision ini,
fungsi validasi komposisi dapat memberikan validasi yang diperlukan dan
menghasilkan nilai yang akan digunakan dalam elemen decision pada fungsi tambah
warna sebelumnya. Berikut ini merupakan flowchart untuk decision validasi

23
komposisi warna dan listing code untuk menjalankan proses tambah warna pada
program.

Gambar 3. 10 Flowchart untuk decision validasi komposisi warna

Kode berikut adalah kode yang dijalankan dalam proses validasi komposisi warna :
def validasi_komposisi():
    total_komposisi = 0
    for primer in colors["dark olive green"]["primer"]:
        komposisi = entry_komposisi_warna[primer].get()
        total_komposisi += float(komposisi) if komposisi else 0
    if total_komposisi != 100:
        messagebox.showerror("Error", "Total komposisi warna harus
100%")
        return False
    return True

3.1.2 LOOPING
Perulangan atau looping adalah sebuah proses program dimana setiap perintah
instruksi dapat dijalankan secara berulang dengan kondisi tertentu (Wolfman, 2013).
Didalam program perhitungan komposisi warna, terdapat 2 elemen perulangan yakni
pada fungsi update_dropdown_warna() fungsi update_tampilan_tabel(). Fungsi
update_dropdown_warna() menggunakan pengulangan untuk menambahkan setiap elemen
warna dalam dictionary colors sebagai item menu pada dropdown warna. Sementara itu,
fungsi update_tampilan_tabel() menggunakan pengulangan untuk menghapus elemen-
elemen non-header dalam tampilan tabel dengan memeriksa baris grid dari setiap elemen
label. Kedua fungsi tersebut berperan dalam mengatur tampilan dropdown warna dan tabel
agar sesuai dengan data yang ada dan interaksi pengguna. Berikut ini merupakan kode
fungsi untuk meng-update dropdown warna dan tampilan tabel.
def update_dropdown_warna():

24
    global warna_dropdown
    if warna_dropdown is None:
        return
    warna_dropdown["menu"].delete(0, "end")
    for color in colors:
        warna_dropdown["menu"].add_command(label=color.title(),
command=lambda c=color: warna_input.set(c))

def update_tampilan_tabel():
    for label in frame_tabel.grid_slaves():
        if int(label.grid_info()["row"]) > 0:
            label.grid_forget()

3.1.3 MODULE dan LIBRARY


Module adalah dapat dipandang sebagai paket program yang disusun dalam bentuk
satuan tertentu demi kebutuhan belajar (Cece Wijaya, 1992:86).
Library Python adalah sekumpulan modul yang menyediakan fungsi dan alat untuk
tujuan tertentu. Mereka membantu memperluas kemampuan Python dengan menyediakan
fungsionalitas yang siap pakai, seperti pemrosesan string, manajemen file, atau pengolahan
data (Mark Lutz, 1999).
Module adalah file Python sederhana yang berisi kumpulan fungsi dan variable global
dan dengan ekstensi file .py. Module dapat diimpor untuk pengorganiasian kode. Library
sendiri menyediakan fungsi dan potongan kode yang dapat kita gunakan dengan
mengimpornya ke dalam program kita. Sementara Package merupakan direktori kumpulan
modul yang teroorganisir dengan baik serta memungkinkan struktur hierarki ruang nama
modul.
Berikut ini merupakan flowchart untuk penggunaan module dan library dalam
menampilkan grafik pie.

25
Gambar 3. 11 Flowchart untuk penggunaaan module dan library

Berikut ini merupakan contoh listing code library di dalam program kami. Kode
berikut menggunakan library matplotlib.
komposisi_text = "\n".join([f"{p.capitalize()}: {j} ml" for p, j in
zip(primer_labeled, ukuran_labeled)])
        fig, ax = plt.subplots(figsize=(6,5))
        labels = primer_labeled
        persentase = persentase_labeled
        ukuran = ukuran_labeled

        for i, pct in enumerate(persentase_labeled):


            if ukuran[i] != "":
                labels[i] = f"{labels[i]}\n{ukuran[i]} ml"
               
        ax.pie(persentase, labels=labels, autopct=lambda pct: f"{pct:.1f}%",
startangle=90)
        ax.set_title(f"Grafik Presentase Komposisi Warna {nama}")
        ax.axis('equal')
        plt.show()

Kode tersebut menggunakan beberapa module dan library, yaitu matplotlib.pyplot dan
plt dari modul matplotlib. Modul matplotlib.pyplot adalah modul yang menyediakan fungsi
dan alat untuk membuat dan menampilkan grafik lingkaran yang menunjukkan komposisi
warna yang telah dipilih oleh user dengan komposisi warna primernya masing-masing. .plt
digunakan untuk memanggil fungsi-fungsi tersebut dengan sintaks yang lebih singkat.

3.2 OUTPUT PROGRAM


Output program merupakan hasil dari sebuah proses yang telah dilakukan dalam
bentuk suatu program pada komputer. Untuk output sendiri adalah hasil langsung dan
segera dari pendidikan (Kaluge, 2000). Perbedaan pada command line interface dengan
graphical user interface yaitu GUI adalah user interface yang berbasis pada grafis, visual,
dan gambar. Sedangkan CLI adalah user interface yang berbasis pada teks perintah
(command).

3.2.1 COMMAND LINE INTERFACE


Command Line Interface (CLI) adalah bentuk antarmuka pengguna yang
memungkinkan pengguna untuk berinteraksi dengan sistem operasi melalui baris perintah
teks. Pengguna dapat memasukkan perintah-perintah teks dan menerima keluaran teks
sebagai respon (Tanenbaum, 1992).
Berikut ini merupakan bentuk-bentuk output dari program CLI:

26
1. Login
Pada tampilan awal program CLI, terdapat fungsi login yang mana meminta
user untuk memasukkan username dan password. Apabila username dan
password yang dimasukkan benar, maka akan muncul teks pemberitahuan bahwa
login berhasil dan user akan dapat melanjutkan aktivitas selanjutnya melalui menu
utama. Berikut ini merupakan tampilan menu login pada program CLI apabila
user berhasil login.

Gambar 3. 12 Output Login Berhasil

Namun, apabila user tidak memasukkan username dan password dengan


benar, akan muncul teks pemberitahuan bahwa username atau password salah dan
user diminta untuk memasukkan kembali username dan password sebanyak 3
kali. Apabila user salah memasukkan username dan password sebanyak 3 kali,
maka user akan otomatis keluar dari sistem. Berikut ini merupakan tampilan
fungsi login pada program CLI apabila user salah memasukkan username atau
password.

Gambar 3. 13 Output Login Gagal

2. Halaman Utama
Pada halaman utama, terdapat tabel yang menampilkan daftar komposisi
warna yang tersedia beserta presentase warnanya. Kemudian terdapat juga
pilihan menu utama yang terdiri dari hitung komposisi, tambah warna, dan
keluar. Apabila user ingin melakukan proses hitung komposisi warna, maka user
dapat memasukkan angka 1 di bagian pilih menu. Apabila user ingin melakukan
proses tambah warna, maka user dapat memasukkan angka 2 di bagian pilih
menu. Apabila user ingin keluar dari sistem, maka user dapat memasukkan

27
angka 3 di bagian pilih menu. Berikut ini merupakan tampilan menu utama
setelah user berhasil login.

Gambar 3. 14 Output Halaman Utama

3. Hitung Komposisi
Pada pilihan menu 1 hitung komposisi, user akan diarahkan ke proses untuk
melakukan perhitungan komposisi warna. Pada proses hitung komposisi, disajikan
daftar warna yang tersedia kemudian user dapat memasukkan warna yang ingin
dihitung komposisi dan juga ukuran cat yang diinginkan. Sistem akan melakukan
proses perhitungan kemudian menampilkan kepada user komposisi warna yang
telah dipilih dalam bentuk satuan mililiter dan juga menampilkan grafik proporsi
persentase masing-masing komposisi warnanya dari warna dan ukuran cat yang
telah dipilih. Berikut ini merupakan tampilan menu hitung komposisi beserta hasil
perhitungan hitung komposisi warna yang diinginkan dan menampilkan grafik
presentase komposisi warna.

Gambar 3. 15 Output Hitung Komposisi Warna

28
Gambar 3. 16 Output Tampilan Grafik

4. Tambah Warna
Pada menu pilihan 2, user dapat menambahkan warna baru yang sebelumnya
belum tersedia di daftar warna sistem. Pada proses pertama tambah warna baru,
user diminta memasukkan nama warna baru beserta presentase komposisi masing-
masing warnanya. Apabila user telah selesai menambahkan warna, maka warna
akan disimpan oleh sistem kemudian ditampilkan di tabel daftar warna tersedia
pada halaman utama dan juga menampilkan grafik proporsi persentase masing-
masing komposisi warnanya dari warna dan ukuran cat yang telah dipilih Berikut
ini merupakan menu tambah warna beserta proses dan juga hasil tambah warna
baru.

29
Gambar 3. 17 Output Daftar Warna Setelah Tambah Warna Baru

Gambar 3. 18 Tampilan Grafik Output

5. Keluar
Apabila user merasa telah cukup menggunakan program tersebut, maka user
dapat memilih menu nomor 3 yang akan mengarahkan user untuk keluar dari
program dan menutup semua proses yang telah dilakukan sebelumnya. Berikut ini
tampilan menu aapabila user memilih untuk keluar dari program.

Gambar 3. 19 Output Keluar Program

30
3.2.2 GRAPHICAL USER INTERFACE
Graphical User Interface (GUI) adalah tipe antarmuka yang digunakan oleh pengguna
untuk berinteraksi dengan sistem operasi melalui gambar grafik, kon, dan menggunakan
perangkat penunjuk (pointing device) seperti mouse atau track ball (Lastiansah, 2012).
Berikut ini merupakan bentuk-bentuk output dari program GUI .
1. Login
Pada tampilan awal program GUI, terdapat fungsi login yang mana meminta user
untuk memasukkan username dan password. Apabila username dan password yang
dimasukkan benar, maka user akan diarahkan menuju halaman menu utama. Berikut
merupakan tampilan halaman login di program PT LOSIK Paint.

Gambar 3. 20 Output Halaman Login

Namun, apabila user tidak memasukkan username dan password dengan benar,
akan muncul teks pemberitahuan bahwa username atau password salah dan user
diminta untuk memasukkan kembali username dan password sebanyak 3 kali. Apabila
user salah memasukkan username dan password sebanyak 3 kali, maka user akan
otomatis keluar dari sistem. Berikut ini merupakan tampilan apabila login gagal
dikarenakan user salah memasukkan username atau password.

Gambar 3. 21 Output Login Gagal

2. Halaman Utama

31
Pada halaman utama, terdapat tabel yang menampilkan daftar komposisi warna
yang tersedia beserta presentase warnanya. Kemudian terdapat juga widget hitung
komposisi, tambah warna, dan keluar. Berikut ini merupakan tampilan halaman menu
utama apabila user telah berhasil login.

Gambar 3. 22 Output Halaman Utama

3. Tambah Warna
Pada proses pertama tambah warna baru, user diminta memasukkan nama warna
baru beserta presentase komposisi masing-masing warnanya. Apabila user telah selesai
menambahkan warna dan menekan button tambahkan warna, maka warna akan
disimpan oleh sistem kemudian terdapat pop up box pesan pemberitahuan yang
menginformasikan bahwa warna baru telah berhasil disimpan dan warna tersebut akan
ditampilkan di tabel daftar warna tersedia pada halaman utama. Berikut ini merupakan
tampilan menu tambah warna beserta notifikasi pemberitahuan apabila warna telah
berhasil ditambahkan dan output hasil menambahkan warna baru yang tersimpan
didalam tabel.

32
Gambar 3. 23 Output Memasukkan Warna Baru Beserta Komposisinya

Gambar 3. 24 Output Notifikasi Setelah Warna Berhasil DItambahkan

Gambar 3. 25 Output Tabel Daftar Warna Setelah Ada Warna Baru

4. Hitung Komposisi
Pada proses hitung komposisi, user dapat memilih warna yang ingin dihitung
komposisi dan juga ukuran cat yang diinginkan. Pada saat button hitung komposisi
ditekan, sistem akan melakukan proses perhitungan kemudian menampilkan window
baru kepada user berupa hasil perhitungan komposisi warna yang telah dipilih dalam
bentuk satuan mililiter dan apabila user juga menekan button tamplilkan grafik maka
program akan menampilkan window grafik proporsi persentase masing-masing
komposisi warnanya dari warna dan ukuran cat yang telah dipilih. Berikut ini
merupakan menu untuk melakukan hitung komposisi serta button hitung komposisi

33
dan button tampilkan grafik yang akan menampilkan hasil perhitungan komposisi
warna pada window baru.

Gambar 3. 26 Output Memilih Warna dan Ukuran

Gambar 3. 27 Output Hasil Perhitungan Komposisi Warna

Gambar 3. 28 Output Grafik Presentase Warna

5. Keluar
Apabila user merasa telah cukup menggunakan program tersebut, maka user dapat
menekan button keluar yang akan mengarahkan user untuk keluar dari program dan

34
menutup semua proses yang telah dilakukan sebelumnya dan kemudian
mengembalikan user ke halaman login program. Berikut ini merupakan button untuk
keluar dari program yang akan mengarah ke halaman login.

Gambar 3. 29 Output Tombol Keluar Program

3.3 TESTING
Testing adalah tiap aktivitas yang digunakan untuk dapat melakukan evaluasi suatu atribut atau
kemampuan dari program atau sistem dan menentukan apakah telah memenuhi kebutuhan atau
hasil yang diharapkan (MHetzel, 1983). Terdapat beberapa tahapan testing yang harus dilakukan
untuk mengetahui perbandingan antara keadaan yang terdapat dengan keadaan yang diinginkan.
Tahapan tersebut terbagi menjadi verifikasi dan validasi.

3.3.1 VERIVIKASI
Verifikasi model yang terkomputerisasi (computerized) memastikan bahwa pemrograman
komputer dan implementasi model konseptual adalah benar (Sargent, 1999). Verifikasi bertujuan
untuk membuktikan bahwa sesuatu ada atau benar, atau untuk memastikan bahwa sesuatu adalah
benar.
Kami akan menguji verifikasi pada bagian login dari program yang kami buat. Berikut ini
merupakan flowchart dari proses verifikasi login pada program.

35
Gambar 3.29 Flowchart Login

Dibawah ini merupakan algoritma dari program penentuan komposisi pencampuran warna
untuk produksi cat pada PT LOSIK PAINT.

Gambar 3. 30 Algoritma Program

Kemudian akan kami tampilkan pula listing code login dari program penentuan komposisi
pencampuran warna untuk produksi cat pada PT LOSIK PAINT.
def login(userpass):
    print("Selamat datang di PT LOSIK Paint!")
    coba = 0
    while coba < 3:

36
        username = input("Masukkan Username Anda: ")
        password = input("Masukkan Password Anda: ")

        if username in userpass and userpass[username] == password:


            print("Login Berhasil")
            return True
        else:
            print("Username atau password salah.")
            coba += 1

    if coba == 3:
        print("Anda telah gagal mencoba login sebanyak 3
kali. Aplikasi akan ditutup.")
        return False

Terakhir akan kami tampilkan output yang dihasilkan dari program kami.

Gambar 3. 31 Output Login Error

Gambar 3. 32 Output Login Berhasil

Dari beberapa lampiran yang sudah ditampilkan diatas baik pada CLI, algoritma, maupun
flowchart, terlihat bahwa kita dalam menjalankan program diberi tiga kali kesempatan dalam
memasukkan username maupun password. Kemudian setelah login akan ditampilkan tabel sesuai
dengan lampiran diatas. Maka, terbukti bahwa program kami sudah terverifikasi.

37
3.3.2 VALIDASI
Mengutip M Agus J Alam dalam buku Belajar Sendiri Mengolah Database dengan Borland
Delphi 7, validasi adalah proses pemeriksaan untuk mengetahui suatu data valid (sah) atau tidak.
Berikut merupakan tabel komposisi warna dari sistem yang akan di validasi.
Tabel 3. 1 Komposisi Warna

Komposisi Warna (%)


Warna
Kuning Biru Merah Putih
Dark Olive Green 25 25 0 25
Spring Green 50 50 0 0
Light Turquoise 0 12,5 0 87,5
Purple 0 50 50 0
Rose 0 0 12,5 87,5
Light Orange 75 0 25 0

Berikut merupakan output graphic user interface dari program yang akan di validasi.

Gambar 3. 33 Output dari Sistem yang akan divalidasi

Berikut ini merupakan listing code output dari sistem yang akan divalidasi pada fungsi
hitung komposisi.
def hitung_komposisi(warna, ukuran, result_label):
    nama = colors[warna]["nama"]
    primer = colors[warna]["primer"]
    komposisi = colors[warna]["komposisi"]
    total_komposisi = sum(komposisi)
    faktor = sizes[ukuran] / total_komposisi  
    jumlah_warna = [round(k * faktor) for k in komposisi]  
    jumlah_total = sum(jumlah_warna)  
    faktor_koreksi = sizes[ukuran] / jumlah_total  
    jumlah_warna = [round(j * faktor_koreksi) for j in jumlah_warna]  

38
    komposisi_text = "\n".join([f"{p.capitalize()}: {j} ml" for p, j in
zip(primer, jumlah_warna)])
    result_label.configure(text=f"Jumlah komposisi cat {nama} yang
dibutuhkan untuk kebutuhan {ukuran} adalah:", font=("Arial", 8), bg="white")
    result_label.configure(justify="left", anchor="w")
    for p, j in zip(primer, jumlah_warna):
        result_label.configure(text=result_label.cget("text") + f"\n-
{p.capitalize()} = {j} ml", bg="white")
   
return [primer, jumlah_warna]

Dalam keseluruhan, fungsi ini menghitung dan menampilkan informasi komposisi cat
berdasarkan warna dan ukuran yang diberikan, serta mengatur tampilan label untuk
menampilkan informasi tersebut dalam antarmuka pengguna. Untuk membuktikan apakah
informasi yang ditampilkan valid (sah) akan dibandingkan dengan perhitungan manual
sebagaimana berikut.
Persentase ¿
Jumlah Bagian=Persentase (%) × Jumlah Keseluruhan ÷ 100 %

Keterangan:
Jumlah Bagian = Komposisi warna yang dibutuhkan
Jumlah Kesuluruhan = Ukuran cat yang dipilih

Sebagai contoh pada gambar 3.3.2 warna yang dipilih adalah spring green dengan
ukuran 5L dengan komposisi 50% kuning dan 50% biru, maka perhitungan manual dari
sistem adalah sebagaimana berikut.
Komposisi warna kuning :
5000 ml ×50 % ÷100 %=2500 ml
Komposisi warna biru :
5000 ml ×50 % ÷100 %=2500 ml
Informasi yang ditampilkan oleh program dengan perhitungan manual
menunjukkan data yang sama yaitu Komposisi warna kuning 2500ml dan komposisi
warna biru 2500ml, dapat disimpulkan informasi yang ditampilkan oleh sistem
adalah valid (sah).

39
3.4 ANALISIS RANCANGAN SISTEM
Analisis adalah proses penyelidikan yang sistematis terhadap bahan-bahan yang ada,
data yang diperoleh, atau fakta yang ditemukan, untuk menemukan pola, hubungan, atau
makna yang mungkin terkait dengan pertanyaan penelitian (Robert K. Yin , 2009)
Menurut Sommerbille dalam buku Agus Mulyanto (2009:259) proses perancangan
bisa melibatkan pengembangan beberapa model sisrem pada tingkat abstraksi yang
berbeda-beda. Menurut Fatansyah (2015:11), bahwa Sistem adalah sebuah tatanan
(keterpaduan) yang terdiri atas sejumlah komponen fungsional (dengan satuan fungsi dan
tugas khusus) yang saling berhubungan dan secara Bersama-sama bertujuan untuk
memenuhi suatu proses tertentu.
Sebuah sistem dibuat untuk mencapai suatu tujuan tertentu. Penentuan komposisi
pencampuran warna untuk produksi cat pada LOSIK Paint memiliki tujuan untuk
mengubah sistem peng-input-an manual menjadi sistem otomatis yang dilakukan oleh
Product Analyst LOSIK Paint. Tahapan awal pembuatan program dimulai dengan
membuat algoritma. Algoritma dibuat agar deskripsi langkah dapat dijelaskan secara runtut
dan sistematis. Kemudian, dilanjutkan oleh tahap pembuatan flowchart. Flowchart
dibuat*666666666 dengan simbol-simbol yang memiliki arti tertentu. Flowchart dibuat
untuk menggambarkan suatu alur pengerjaan agar pengguna dapat memahami alur
algoritma lebih jelas menggunakan simbol tertentu. Simbol-simbol tersebut dihubungan
dengan panah untuk memudahkan programmer dalam membaca alur flowchart dan
membuat program. Setelah tahap pembuatan algoritma dan flowchart, ada tahapan untuk
membuat program.
Hal pertama yang dilakukan untuk membuat program adalah membuat algoritma
deskriptif yang berfungsi untuk merencanakan logika program dan mengiidentifikasi jika
ada kekurangan di awal, serta flowchart yang menggambarkan serta memvisualisasikan
langsung alur dari program itu sendiri. Langkah berikutnya adalah pembuatan program
yang berisikan fitur login, tabel daftar komposisi cat, fitur penambahan warna baru,
menghitung komposisi dengan dua ukuran cat lalu penampilan grafik lingkaran untuk
melihat proporsi warna primer. Pada bagian login, pengguna memasukkan username dan
password yang telah terdaftar. Terdapat sebanyak 3 kali kesempatan untuk memasukkan
username dan password yang sesuai sebelum menampilkan tulisan “Terminated”. Setelah
memasukkan pasangan username dan password yang sesuai, program akan melanjutkan ke
menu utama. Pengguna akan memilih salah satu dari daftar pada menu utama. Apabila
pengguna ingin menambahkan sebuah warna baru, maka pengguna dapat langsung

40
mengetikkan nama warna serta komposisi warna primer di kolom yang tersedia. Nantinya,
warna yang ditambahkan akan langsung terdaftar di tabel warna yang telah tersedia.
Apabila pengguna memilih untuk menghitung komposisi warna, maka langkah pertama
yang dilakukan adalah memilih ukuran cat dan warna cat. Terdapat 2 ukuran cat yaitu 2,5L
dan 5L dengan total persentase warna nantinya akan 100%. Selanjutnya, sistem akan
menghitung komposisi warna dengan menggunakan rumus komposisi warna = presentase
warna primer x ukuran cat. Pada tahap selanjutnya, pengguna bisa mengakses grafik
lingkaran proporsi warna agar dapat melihat berapa presentase setiap warna yang ada di cat
tersebut.
Program penentuan komposisi warna pada LOSIK Paint memiliki kelebihan dan
kekurangan. Kelebihan dalam program ini yaitu dapat menampilkan secara detail rincian
proporsi warna primer pada cat dalam bentuk mililiter dan persen. Kekurangan pada sistem
ini adalah tidak dapat melakukan banyak input warna dalam sekali login.

41
BAB IV
PENUTUP

Pada bab 4 ini akan dibahas mengenai kesimpulan yang diambil dari pembuatan
algoritma, flowchart, dan program yang dibuat dari studi kasus yang telah diberikan.
Selain itu, juga akan dibahas saran kedepannya mengenai program yang telah dibuat
kedepannya.

4.1 KESIMPULAN
Robert K. Yin dalam buku "Case Study Research: Design and Methods" (2009):
Kesimpulan adalah hasil penarikan akhir atau ringkasan dari temuan atau analisis yang
dibuat berdasarkan data yang dikumpulkan dalam penelitian.
Kesimpulan merupakan sebuah hasil akhir dimana berisi jawaban dari tujuan yang
ingin dicapai. Berdasarkan definisi kesimpulan tersebut, kesimpulan yang dapat diberikan
untuk pembuatan program penentuan komposisi pencampuran warna untuk produksi cat
pada LOSIK Paint adalah sebagai berikut.
1. Algoritma deskriptif dan flowchart membantu memvisualisasikan alur kerja program
yang dibuat serta memastikan bahwa program berjalan dengan logika yang benar.
2. Program melakukan proses secara manual dan bekerja untuk mendapatkan hasil yang
ingin dicapai.
3. Diagram lingkaran membantu untuk memvisualisasikan dalam mengetahui proporsi
komposisi warna.

4.2 SARAN
Lexy J. Moleong dalam buku "Metodologi Penelitian Kualitatif" (2017): Saran adalah
penilaian atau rekomendasi yang diberikan berdasarkan hasil penelitian untuk membantu
mengatasi masalah yang diidentifikasi atau meningkatkan situasi yang ada.
Saran merupakan suatu hal yang penting dalam laporan atau karya ilmiah dengan
maksud memberikan suatu masukan, perbaikan dan harapan agar kedepannya menjadi
lebih baik. Berdasarkan definisi saran tersebut, saran yang dapat diberikan untuk
pembuatan program penentuan komposisi pencampuran warna untuk produksi cat pada
LOSIK Paint adalah sebagai berikut:
1. Warna baru ditingkatkan variasinya yang tidak dibatasi berdasarkan dari komposisi
42
warna primer yang disediakan.
2. Ukuran cat lebih diperbanyak sehingga tidak dibatasi hanya pada dua ukuran yaitu 2,5
L dan 5 L.

43
DAFTAR PUSTAKA
Habibi, M. (2011). Analisis Prosedur Sirkulasi Buku Perpustakaan di SMK Bina Warga Lemahabang
Kabupaten Cirebon. Bandung: Perpustakaan UNIKOM.

Harold Koontz, C. O. (1968). Principles of Management: An Analysis of Managerial Functions


International student edition McGraw-Hill series in management. the University of
California: McGraw-Hill.

Hasad, A. (2011). VERIFIKASI DAN VALIDASI DALAM SIMULASI MODEL. 17.

Konsep Dasar dan Pengertian Sistem. (2018, October 2). Retrieved from BPAKHM:
http://bpakhm.unp.ac.id/konsep-dasar-dan-pengertian-sistem/

Kuncoro, A. A. (2022, November 22). Fungsi, Cara Kerja & Contoh Algoritma Pemrograman.
Retrieved from Universitas Stekom:
https://teknik-informatika-s1.stekom.ac.id/informasi/baca/Fungsi-Cara-Kerja-Contoh-
Algoritma-Pemrograman/6b799bd10e267d2a5adfbc37f00475138a14d5f7

Lutz, M. (1999). Learning python. Sebastopol: O'Reilly Media.

M, A. J. (2005). Belajar Sendiri Mengolah Database. Elex Media Komputindo.

McConnell, S. (1993). Code Complete: A Practial Handbook of Software Construction. United


States: mircosoft press.

Setiawan, R. (2021, agustus 4). Flowchart Adalah: Fungsi, Jenis, Simbol, dan Contohnya. Retrieved
from dicoding: https://www.dicoding.com/blog/flowchart-adalah/

Wijaya, C. (1992). Upaya Pembaharuam dalam Pendidikan dan Pengajaran. Bandung: Remaja
Rosda.

44
LAMPIRAN

45

Anda mungkin juga menyukai