Untitled

mail@pastecode.io avatar
unknown
python
18 days ago
2.1 kB
1
Indexable
Never
import os
import docx
import PyPDF2

def baca_docx(file_path):
    doc = docx.Document(file_path)
    text = ''
    for paragraph in doc.paragraphs:
        text += paragraph.text + ' '
    return text

def baca_pdf(file_path):
    with open(file_path, 'rb') as file:
        pdf_reader = PyPDF2.PdfReader(file)
        text = ' '
        for page_num in range(len(pdf_reader.pages)):
            text += pdf_reader.pages[page_num].extract_text() + ' '
        return text

def baca_txt(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        return file.read()

def hitung_kata(text):
    words = text.split()
    return {word: words.count(word) for word in set(words)}

def main():
    # input pengguna
    input("Masukkan Nama: ")
    input("Masukkan NRP: ")

    # directory path sesuai aturan
    directory_path = f"C:\\992023034_ArifaUlya"

    # cek keberadaan directory
    if not os.path.exists(directory_path) :
        print(f"Directory {directory_path} tidak ditemukan.")
        return

    # list file dalam directory
    files_list = [f for f in os.listdir(directory_path) if os.path.isfile(os.path.join(directory_path, f))]

    # proses setiap file
    for file_name in files_list:
        file_path = os.path.join(directory_path, file_name)

        # menentukan jenis file dan membacanya
        if file_name.lower().endswith('.docx'):
            text = baca_docx(file_path)
        elif file_name.lower().endswith('.pdf'):
            text = baca_pdf(file_path)
        elif file_name.lower().endswith('.txt'):
            text = baca_txt(file_path)
        else:
            print(f"File {file_name} tidak mendukung.")
            continue

        # menghitung kata dalam teks
        word_counts = hitung_kata(text)

        # menampilkan output
        print(f"\nNama File: {file_name}")
        print(f"Ektensi file: {file_name.split('.')[-1]}")
        print(f"Jenis kata dalam file {file_name}:")
        for word, count in word_counts.items():
            print(f"{word} = {count}")

if __name__=="__main__":
    main()
Leave a Comment