30/06/2023

Laporan Ujian Akhir (UAS) Proyek Pemrograman Mobile

 Assalamu'alaikum Warahmatullahi Wabarakatuh...,

Selamat pagi sobat Eskomers... mimin kembali lagi nih...;) 
Dalam kesempatan ini mimin mau share tentang Project Manager, Business Analyst, dan juga Tim Development. yuk simak penjelasannya!!!

25/06/2023

Praktikum Data Science (Studi Kasus Pemain Sepak Bola) dan Computer Vision - Virtual Button Calculator

Assalamu'alaikum Warahmatullahi Wabarakatuh....,

Haloo sobat Eskomers..,kembali lagi di blogspot mimin yaa...

Seperti yang tertera pada judul, weekend ini mimin mau sharing tentang tugas UAS mimin nih mata kuliah kecerdasan buatan yaitu praktikum data science kasus pemain sepak bola dan ada juga computer vision dengan membuat virtual button calculator, kira-kira bisa dibayangin kan gimana kalkulator tapi cara menggunakannya virtual. nah sebelum ke praktek mimin mau ngasih penjelasan dulu nih tentang apa itu Kecerdasan Buatan atau yang lagi viralnya AI (Artificial Intelligence). yuk simak penjelasannya...

1. Pengertian Kecerdasan Buatan


Kecerdasan buatan atau Artificial Intelligence (AI) adalah simulasi dari kecerdasan yang dimiliki oleh manusia yang dimodelkan di dalam mesin dan diprogram agar bisa berpikir seperti halnya manusia. Sedangkan menurut Mc Leod dan Schell,  kecerdasan buatan adalah aktivitas penyediaan mesin seperti komputer dengan kemampuan untuk menampilkan perilaku yang dianggap sama cerdasnya dengan jika kemampuan tersebut ditampilkan oleh manusia.

Dengan kata lain AI merupakan sistem komputer yang bisa melakukan pekerjaan-pekerjaan yang umumnya memerlukan tenaga manusia atau kecerdasan manusia untuk menyelesaikan pekerjaan tersebut.

AI sendiri merupakan teknologi yang memerlukan data untuk dijadikan pengetahuan, sama seperti manusia. AI membutuhkan pengalaman dan data supaya kecerdasannya bisa lebih baik lagi. Poin penting dalam proses AI adalah learning, reasoning dan self correction. AI perlu belajar untuk memperkaya pengetahuannya. Proses belajar AI pun tidak selalu disuruh oleh manusia, melainkan AI akan belajar dengan sendirinya berdasarkan pengalaman AI saat digunakan oleh manusia.

Contoh Kecerdasan Buatan

Kecerdasan buatan atau AI ini telah banyak diterapkan di berbagai bidang seperti industri, medis, pendidikan, bisnis bahkan dalam kehidupan sehari-hari. Berikut ini beberapa contoh dari penerapan AI yang biasa kamu jumpai dalam kehidupan sehari-hari.

1. DeepFace Facebook
2. Rekomendasi E-Commerce
3. Asisten Virtual

2. Pengertian Data Science

Menurut Data Robot, data science merupakan ilmu yang menggabungkan sebuah kemahiran di bidang ilmu tertentu dengan keahlian pemrograman, matematika, dan statistik. Tujuannya adalah untuk mengekstrak sebuah pengetahuan atau informasi dari data. Biasanya, orang-orang yang mahir dalam bidang data science menggunakan algoritma machine learning atau pembelajaran mesin. Hal ini berguna dalam mengolah teks, gambar, video, audio, dan lain-lain untuk menghasilkan sistem kecerdasan buatan. Sistem kecerdasan buatan ini dapat dirancang untuk melakukan berbagai tugas yang terlalu sulit untuk kecerdasan manusia.
Hasil data yang diolah sistem kecerdasan buatan akan dapat dimanfaatkan oleh analis dan pengguna dalam bisnis untuk merancang strategi yang tepat untuk menyelesaikan suatu masalah atau mencapai sebuah tujuan.

Menurut Towards Data Science, menjelaskan proses data science adalah hal yang tidak mudah. Namun, kira-kira prosesnya dapat dirangkum dalam lima poin OSEMN sebagai berikut:

1. Obtain (mendapatkan atau mengumpulkan data)

Data dikumpulkan dari sumber-sumber data. Kemudian digunakan kemampuan teknis seperti MySQL untuk memproses datanya. Jika menggunakan Python atau R, kamu bisa langsung membaca data dari sumbernya secara langsung ke program data science yang digunakan.Untuk mengambil data dari sumber, dibutuhkan kemahiran bermacam-macam sesuai dengan tipe dan ukuran file yang didapatkan.

2. Scrub (pembersih data atau filter data)

Setelah data dikumpulkan, hal selanjutnya yang harus dilakukan dalam tahap proses data science adalah scrubbing data. Jika ada data yang tidak penting atau tidak relevan, harus disingkirkan. Pada tahap ini, dilakukan juga standardisasi format data. Dari format bermacam-macam di tahap pertama, seluruh data dikonversi ke satu format yang sama. Setelah itu, jika ada data yang kurang atau hilang, harus dilakukan penyesuaian agar dapat diproses. Proses scrubbing juga meliputi penyatuan dan pemisahan kategori data tergantung kebutuhan. Pada dasarnya, tahap scrubbing merupakan proses mengatur, merapikan data, serta membuang apa pun yang tidak diperlukan, dan mengganti data yang hilang serta menstandarisasi seluruh formatnya.

3. Explore (penggalian dan pemeriksaan data)

Pertama-tama, semua data harus diperiksa propertinya, karena tipe data yang berbeda memerlukan perlakuan yang berbeda pula. Kemudian, statistik deskriptif harus dihitung untuk dapat mengekstrak fitur dan menguji variabel yang signifikan. Terakhir, visualisasi data digunakan untuk mengidentifikasi pola dan tren signifikan dalam data yang sudah kamu dapatkan. Dengan begitu, bisa diperoleh gambaran yang lebih jelas dengan grafik agar pentingnya data dapat lebih dipahami.

4. Model

Setelah memastikan tahap scrub dan explore sudah dilakukan maksimal, maka kamu dapat lanjut ke tahap data science selanjutnya, yaitu model. Pada tahap ini, dibuat model data untuk mencapai tujuan yang diinginkan. Pada tahap ini, digunakan regresi dan prediksi untuk memperkirakan nilai di waktu mendatang serta melakukan klasifikasi dan pengelompokan grup nilai dari data.

5. Interpret

Tahap terakhir dalam proses data science adalah interpretasi data. Interpretasi data adalah proses penting di mana dilakukan interpretasi model dan data. Output dari pengolahan data yang diinterpretasi harus bisa dipahami oleh orang-orang awam yang tidak mengerti istilah teknis. Presentasinya bertujuan untuk menjawab persoalan bisnis berdasarkan data yang diperoleh. Pada tahap interpretasi data, kemampuan komunikasi yang baik juga sangat dibutuhkan untuk menyampaikan poin-poin pentingnya secara efektif pada semua orang yang berkepentingan.

3. Pengertian Computer Vision

Computer vision adalah teknologi yang memungkinkan komputer bisa melihat serta mengenali objek di sekitarnya, selayaknya manusia. Cara kerjanya dengan kamera serta kecerdasan buatan atau AI (Artificial Intelligence). Jika AI memungkinkan komputer berpikir, maka computer vision memungkinkan teknologi komputer untuk melihat, mengamati dan memahami. Sebagai manusia, kita mengamati apa yang ada di sekeliling kita menggunakan saraf optik, retina, dan korteks visual. Dari pengamatan tersebut, kita bisa mendapatkan gambaran objek tertentu, mengukur jaraknya, menghitung kecepatan gerakannya, hingga menemukan kesalahan. Demikian pula dengan computer vision yang memungkinkan mesin bertenaga AI melatih diri untuk melakukan seperti yang dilakukan manusia. Mesin ini menggunakan kombinasi kamera, algoritma, dan data yang tersedia.

Bedanya, tidak seperti manusia, komputer tidak cepat lelah. Mesin yang didukung dengan computer vision bisa menganalisis ribuan aset produksi atau produk dalam hitungan menit. Ini memungkinkan pabrik mengotomatiskan pendeteksian kesalahan pada barang produksi yang tidak dapat dilihat oleh mata manusia. Hanya saja, dibutuhkan database besar untuk bisa menciptakan teknologi satu ini. Database besar ini dibutuhkan untuk mendapatkan setiap kemungkinan hasil akurat sesuai dengan perintah yang diberikan. Misalnya, komputer diberi tugas untuk mengidentifikasi kucing peliharaan yang sehat. Tentu perlu ribuan masukan seputar referensi visual kucing, indikator kesehatan, dan objek lainnya terkait kata kunci tersebut. 

Cara Kerja Computer Vision

Cara kerja computer vision adalah dengan meniru bagaimana kinerja sistem visual manusia. Manusia melihat objek menggunakan mata, kemudian citra yang ditangkap mata dilanjutkan ke otak. Otak akan memproses dan menginterpretasikan pengambilan keputusan. Misalnya, keputusan menghindar jika melihat bahaya di depan, menyapa, tersenyum, dan sebagainya. Implementasi tersebut coba ditiru oleh computer vision. Contohnya pada proses scanning QR Code. Saat proses scanning berlangsung, akan diinformasikan kode untuk menjalankan suatu perintah. Contohnya adalah ketika kamu melakukan login ke WhatsApp memakai barcode, payment lewat dompet digital, dan sebagainya. Secara umum, cara kerja computer vision terbagi menjadi 3 pokok utama, yaitu: 

1. Proses pertama adalah mengakuisisi citra digital setelah memperolehnya

2. Kemudian proses berikutnya adalah pengolahan citra untuk memodifikasi data-data

3. Proses terakhir adalah analisis. Analisis berupa interpretasi citra dengan hasil pemrosesan. Tujuannya untuk menghasilkan keputusan tertentu seperti gambar, data, kontrol, dan sebagainya.

Contoh Computer Vision 

Sudah ada banyak penggunaan computer vision dalam kehidupan sehari-hari. Beberapa contoh computer vision adalah: 

1. Google translate

2. Face App

3. SentioScope

Nahh kira-kira begitu sobat untuk penjelasannya...
yuk kita langsung praktekin menggunakan tools Anaconda Navigator dan menggunakan bahasa Python 

4. Praktikum Data Science (Studi Kasus pemain Sepak Bola FIFA 2019 - 2023)

Sobat eskomers, tahu nggak berapa banyak data dari pemain sepak bola FIFA dari 2019 - 2023? nggak tau kan... ya udah nih mimin kasih tahu wkwk. 

Berdasarkan data yang mimin dapat kira- kira total data pemain sepak bola FIFA di tahun 2019 sebanyak 17.943, di tahun 2020 datanya ada 17.104, di tahun 2021 datanya ada 17.108, di tahun 2022 datanya ada 16.710, dan di tahun 2023 sebanyak 17.660. wahh ternyata banyak juga ya sobat...

Kira-kira kalo ada tugas untuk melihat pemain sepak bola dengan umur, gaji, dan nilai tertinggi dengan data segitu kapan kelarnya ya? eitss... nggak usah khawatir sobat kan kita hidup di zaman teknologi yang mana dengan adanya teknologi ini bisa memudahkan kita dalam mengerjakan tugas-tugas, iya nggak? 

Melalui data science kita akan belajar bagaimana melihat data sekaligus memfilter data sesuai kebutuhan kita. Berikut ini hasil program dari data science kasus pemain sepak bola FIFA 2019 - 2023 :

a. Data Pemain Sepak Bola FIFA 2019

  • Source Code menampilkan data pemain sepak bola:
          import pandas as pd
    #pd.read_csv('data1.csv) # tanpa encoding
    pd.read_csv('data19.csv', encoding="ISO-8859-1") 
    #menggunakan encoding
    data_frame = pd.read_csv('data19.csv')
    data_frame


Perintah(Source code)

Hasil (Output)
  • Source Code Menampilkan Nama, Gaji, dan Nilai tertinggi pemain sepak bola:
            df1 = pd.DataFrame(data_frame, columns=['Name', 'Wage',                 'Value'])
     df1
Perintah (Source code)

Hasil (Output)

b. Data Pemain Sepak Bola FIFA 2020

  • Source Code menampilkan data pemain sepak bola:

    import pandas as pd
    #pd.read_csv('data1.csv) # tanpa encoding
    pd.read_csv('data20.csv', encoding="ISO-8859-1") 
    #menggunakan encoding
    data_frame = pd.read_csv('data20.csv')
    data_frame
Perintah (Source code)

Hasil (Output)

  • Source Code Menampilkan Nama, Gaji, dan Nilai tertinggi pemain sepak bola:
            df1 = pd.DataFrame(data_frame, columns=['Name', 'Wage',                 'Value'])
     df1
Perintah (Source code)

Hasil (Output)

Dibawah ini Source Code lengkapnya :

c. Data Pemain Sepak Bola FIFA 2021

  • Source Code menampilkan data pemain sepak bola :

    import pandas as pd
    #pd.read_csv('data1.csv) # tanpa encoding
    pd.read_csv('data21.csv', encoding="ISO-8859-1") 
    #menggunakan encoding
    data_frame = pd.read_csv('data21.csv')
    data_frame
Perintah (Source code)

Hasil (Output)

  • Source Code Menampilkan Nama, Gaji, dan Nilai tertinggi pemain sepak bola:
            df1 = pd.DataFrame(data_frame, columns=['Name', 'Wage',                 'Value'])
     df1
Perintah (Source code)

Hasil (Output)

d. Data Pemain Sepak Bola FIFA 2022 

  • Source Code menampilkan data pemain sepak bola :

    import pandas as pd
    #pd.read_csv('data1.csv) # tanpa encoding
    pd.read_csv('data22.csv', encoding="ISO-8859-1") 
    #menggunakan encoding
    data_frame = pd.read_csv('data22.csv')
    data_frame
Perintah (Source code)

Hasil (Output)

  • Source Code Menampilkan Nama, Gaji, dan Nilai tertinggi pemain sepak bola:
            df1 = pd.DataFrame(data_frame, columns=['Name', 'Wage',                 'Value'])
     df1
Perintah (Source code)

Hasil (Output)
Dibawah ini Source Code lengkapnya :
https://drive.google.com/file/d/1wQHuDxRIo7Qx8NR38B9hIPfLzB8WZLKn/view?usp=drive_link

e. Data Pemain Sepak Bola FIFA 2023

  • Source Code menampilkan data pemain sepak bola:

    import pandas as pd
    #pd.read_csv('data1.csv) # tanpa encoding
    pd.read_csv('data23.csv', encoding="ISO-8859-1") 
    #menggunakan encoding
    data_frame = pd.read_csv('data23.csv')
    data_frame
Perintah (Source code)

Hasil (Output)


  • Source Code Menampilkan Nama, Gaji, dan Nilai tertinggi pemain sepak bola:
            df1 = pd.DataFrame(data_frame, columns=['Name', 'Wage',                 'Value'])
     df1
Perintah (Source code)

Hasil (Output)

Dibawah ini Source Code lengkapnya :

5. Praktikum Computer Vision (Virtual Button Calculator)

Di virtual button calculator ini terlebih dahulu kita harus menginstall library-library yang dibutuhkan, dengan cara buka anaconda prompt kemudian masukkan perintah berikut :

  • pip install cv2
  • pip install cvzone
  • pip install mediapipe

Kemudian pada anaconda jupyter notebook kita masukkan perintah atau source code . Perintah nya yaitu sebagai berikut :

 import cv2
from cvzone.HandTrackingModule import HandDetector
class Button:
    def __init__(self, pos, width, height, value):
        self.pos = pos
        self.width = width
        self.height = height
        self.value = value
    
    def draw(self, img):
        cv2.rectangle(img, self.pos, (self.pos[0]+self.width, self.pos[1]+self.height),
                      (225, 225, 225), cv2.FILLED)
        cv2.rectangle(img, self.pos, (self.pos[0]+self.width, self.pos[1]+self.height),
                      (50, 50, 50), 3)
        cv2.putText(img, self.value, (self.pos[0]+25, self.pos[1]+46), cv2.FONT_HERSHEY_PLAIN,
                    2, (50, 50, 50), 2)
    
    def checkClick(self, x, y):
        if self.pos[0] < x < self.pos[0]+self.width and self.pos[1] < y < self.pos[1]+self.height :
            cv2.rectangle(img, self.pos, (self.pos[0]+self.width, self.pos[1]+self.height),
                          (255, 255, 255), cv2.FILLED)
            cv2.rectangle(img, self.pos, (self.pos[0]+self.width, self.pos[1]+self.height),
                          (50, 50, 50), 3)
            cv2.putText(img, self.value, (self.pos[0]+15, self.pos[1]+58), cv2.FONT_HERSHEY_PLAIN,
                        4, (0, 0, 0), 4)
            return True
        else:
            return False
            
cam = cv2.VideoCapture(0)
cam.set(3, 1280)
cam.set(4, 720)
detector = HandDetector(detectionCon=0.8, maxHands=1)
buttonListValues = [
    ['1', '2', '3', '+'],
    ['4', '5', '6', '-'],
    ['7', '8', '9', '/'],
    ['0', '.', '*', '=']
]
buttonList = []
for y in range(4):
    for x in range(4):
        xpos = x*80 + 320
        ypos = y*80 + 90
        buttonList.append(Button((xpos, ypos), 70, 70, buttonListValues[y][x]))
myEquation = ''
delayCounter = 0
while True:
    success, img = cam.read()
    img = cv2.flip(img, 1)
    
    hands, img = detector.findHands(img, flipType=False)
    
    #gambar layar
    cv2.rectangle(img, (320, 10), (320+310, 10+70),
                  (225, 225, 225), cv2.FILLED)
    cv2.rectangle(img, (320, 10), (320+310, 10+70),
                  (50, 50, 50), 3)
    #gambar tombol
    for button in buttonList:
        button.draw(img)
    
    #pengolahan
    if hands:
        lmList = hands[0]['lmList']
        length, info, img = detector.findDistance(lmList[8][:2], lmList[12][:2], img)
        x, y = lmList[8][:2]
        if length < 50:
            for i, button in enumerate(buttonList):
                if button.checkClick(x, y) and delayCounter == 0:
                    myValue = buttonListValues[int(i/4)][int(i%4)]
                    if myValue == '=':
                        if len(myEquation) > 0:
                            if myEquation[0] != '+' and myEquation[0] != '-' and myEquation[0] != '*' and myEquation[0] != '/':
                                myEquation = str(eval(myEquation))
                    else:
                        myEquation += myValue
                    delayCounter = 1
    
    if delayCounter != 0:
        delayCounter += 1
        if delayCounter > 10:
            delayCounter = 0
    
    cv2.putText(img, myEquation, (320+10, 10+50), cv2.FONT_HERSHEY_PLAIN,
                3, (50, 50, 50), 3)
    cv2.imshow("Camera", img)
    key = cv2.waitKey(1)
    
    if key == ord('c'):
        myEquation = ''
        break
#cam.release()
cv2.destroyAllWindows()

Hasil (Output)


Sekian pembahasan dari mimin, mohon maaf apabila ada kesalahan dalam penulisan atau bahasa kurang baku... sampai jumpa di pembahasan berikutnya...,

Semoga bermanfaat, Happy Weekend sobat eskomers:)

Wassalamu'alaikum Warahmatullahi Wabarakatuh...


NB :

- jika video tidak bisa diputar silahkan klik link berikut :

https://drive.google.com/file/d/1neGCQiSGcL6qzeGbGsul5PPRxGjBfwC9/view?usp=drive_link

- Source Code lengkapnya bisa dilihat pada link berikut :

https://drive.google.com/drive/folders/150oPKWwr31IzqbDN8Fc-v6f9RWqvQkYm?usp=drive_link


Referensi :

Laporan Ujian Akhir (UAS) Proyek Pemrograman Mobile

 Assalamu'alaikum Warahmatullahi Wabarakatuh..., Selamat pagi sobat Eskomers... mimin kembali lagi nih...;)  Dalam kesempatan ini mimin ...