Go to Site Settings-> Advanced Permissions-> Settings-> Permission levels.
This should take you to http://server/sites/sitename/_layouts/role.aspx page.
Here you can able to see the default permission levels.
Since you are saying that you want a contribute permission without delete, click on the default Contribute Permission displayed here.
In the end of the page, click Copy Permission Level button.
In the page opened give your custom permission level name and under List Permissions just uncheck the Delete Items permission. (this copies all permissions of Contribute and removes delete permission)
Now click ok and your custom permission level is created.
While creating a group or assigning permission to the user, use this custom level permission instead of contribute.
Also please try: https://support.office.com/en-gb/article/Edit-and-manage-permissions-for-a-SharePoint-list-or-library-02d770f3-59eb-4910-a608-5f84cc297782?ui=en-US&rs=en-GB&ad=GB