This study analyzes sentiment in Gojek application user reviews using Natural Language Processing (NLP) and machine learning techniques to classify sentiments into positive, negative, and neutral categories. A dataset of 8,091 Bahasa Indonesia reviews from Kaggle (Gojek version 4.8) was processed, yielding 5,685 valid instances after cleaning, with sentiment distribution of neutral (52.7%), positive (26.8%), and negative (20.3%). An optimized Indonesian preprocessing pipeline was developed, incorporating text cleaning, slang normalization using a curated 1,247-word mapping dictionary, tokenization, stemming via Sastrawi, and stopword removal. Feature extraction employed TF-IDF Vectorizer (max_features=10,000; n-gram=(1,2)). Four algorithms, Naïve Bayes, Linear SVM, Logistic Regression, and Random Forest (tuned) were evaluated using stratified 80:20 split. Linear SVM and Random Forest achieved the highest accuracy at 93% (weighted F1-score: 93%), followed by Logistic Regression (92%) and Naïve Bayes (68%). Ablation study confirmed that slang normalization contributed the greatest performance gain (4.8%). Keyword-based aspect extraction on negative reviews identified three priority improvement areas: customer service responsiveness (38%), pricing transparency (32%), and application stability (24%).